在C/C++语言中我们都知道整数转换为字符串是不能直接转换的。一位整数转换为字符也只能将其转换为整数的ASCII码。
我们知道 0-9的数字的ASCII码对应于48~57。因此一位整数转换为字符串直接将整数+48后就可以强制转换。
所以大致思路就是,将整数n 进行模10 ,即n%10得到n的个位,然后将其转换为字符加到字符串中,再将n/10进行迭代。
举个例子
123
第一次迭代 123%10=3, str=3,再把123/10=12传入下一次迭代中
第二次迭代 12%10=2,str=2+str=2+3=23 (注:字符串相加就是两个字符串拼接)再把12/10进入下一次迭代
第三次迭代 1%10=1 str=1+str=1+23=123 由于1/10=0 所以停止迭代返回字符串s
具体代码
string Exchange(string str,int n)//第一次迭代传入的为空字符串
{
if (n == 0)
{
return str;
}
char ch = n % 10 + 48;
str = ch + str;
return Exchange(str, n/10);
}
本文详细介绍了如何使用C/C++通过逐位迭代的方式,将整数转换为字符串,包括了取余、ASCII码转换和字符串拼接的过程。通过实例展示了将123转换为字符串的方法,并提供了相应的代码实现。

2781

被折叠的 条评论
为什么被折叠?



