C++中整数和字符/字符串的转换

1、整数与字符的转换
(1)整数转换为字符:整数加'0'就会隐性的转换为char类型的数。
(2)字符转换为整数:相反的,字符减去'0'就会转换为整数。

2、整数和字符串的转换
(1)整数转换为字符串
使用itoa函数
例如:int num=12345;
      char str[10];
      itoa(num,str,10); //将num转换为字符串保存到str中

不使用itoa函数:将整数的每位转换为字符,然后再逆序保存。例如:
int num = 12345,i=0,j=0;
char temp[7],str[7];
while(num)
{
    char[i]=num%10+'0';
    i++;
    num=num/10;
}
temp[i] = 0;  //最后加上字符串结束符'\0'
i--;
while(i>=0)
{
    str[j]=temp[i];
    i--;
    j++;
}
str[j]=0;   //最后加上字符串结束符'\0'


(2)字符串转换为整数
使用atoi函数,如果不能转换返回0
例如:s="-9885 pigs";      /* Test of atoi */
      i = atoi( s );
输出为-9885.

不使用atoi函数,可以采用减'0'再乘10累加的办法,字符串减'0'就会隐性转化为int类型的数。
例如:
char a[]={'1','2','3','4','5','6','\0'};
int i=0,temp,sum=0;
while(a[i])
{
    temp = a[i]-'0';
    sum = sum*10+temp;
    i++;
}
cout<<sum<<endl;
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值