当前位置 : 主页 > 编程语言 > c语言 >

C++实现将长整型数转换为字符串的示例代码

来源:互联网 收集:自由互联 发布时间:2021-05-09
C++实现将长整型数转换为字符串 /* * Created by Chimomo */#include iostream using namespace std; char *convertLongToStr(long L) { int i = 1; int n = 1; while (!(L / i 10)) { i *= 10; ++n; } char *str = (char *) malloc(n * sizeof(

C++实现将长整型数转换为字符串

/*
 * Created by Chimomo
 */
#include <iostream>
 
using namespace std;
 
char *convertLongToStr(long L) {
    int i = 1;
    int n = 1;
    while (!(L / i < 10)) {
        i *= 10;
        ++n;
    }
 
    char *str = (char *) malloc(n * sizeof(char));
    int j = 0;
    while (L) {
        str[j++] = (char) ((int) (L / i) + (int) '0');
        L = L % i;
        i /= 10;
    }
 
    // A significant line to denote the end of string.
    str[n] = '\0';
 
    return str;
}
 
int main() {
    long l = 123456789;
    char *str = convertLongToStr(l);
    cout << str << endl;
}
 
// Output:
/*
123456789
*/

C++将一个整型数字转化成为字符串

思路:

  • 利用char类型对于整数的隐式转换,可以直接将整数加48(0的ASCII)赋值给char类型参数,转化成字符
  • 利用string类型对+运算符的重载,借用一个string参数储存每次递归返回值
  • 为了防止输出的字符串顺序颠倒,将string+=temp;语句放在调用递归语句的后面,然后再返回string参数

代码如下:

//转化函数
string transfer_Num(int num){
 char temp=num%10+48;
 string m_temp="";
 if(num>=10)
  m_temp+=transfer_Num(num/10);
 m_temp+=temp;
 return m_temp;
} 

int main(){
 int a=4876867;
 string temp=transfer_Num(a);
 cout<<temp;
 return 0;
} 

到此这篇关于C++实现将长整型数转换为字符串的示例代码的文章就介绍到这了,更多相关C++ 长整型数转换为字符串内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

网友评论