C++ 整数转化成字符串 字符串转换为整数

时间:2023-01-07 08:39:43

摘自《程序员面试宝典》

整数转化为字符串:

方法一:

//整数转化成字符串,可以采用加'0',再逆序的方法,整数加‘0’就会隐性转化成char类型的数。

#include<iostream>

#include<stdio.h>


int main(void)
{
int num = 12345,j=0,i=0;
char temp[7],str[7];
while(num)
{
temp[i] = num%10+'0';
i++;
num = num/10;
}

temp[i] = 0;
printf(" temp=%s\n",temp);
i =i-1;
printf(" temp=%d\n",i);


//刚刚转化的字符串是逆序的,必须把它反转过来
while(i>=0)
{
str[j] = temp[i];
j++;
i--;
}
str[j]=0;
printf(" string=%s\n",str);
return 0;

}


方法二:使用itoa函数

#include<iostream>

#include<stdio.h>

int main(void)
{
int number = 12345;
char string[7];


itoa(number,string,10);
printf("integer = %d   string = %s\n",number,string);
return 0;
}

 

字符串转化为整数:

可以采用减'0'再乘10累加的办法,字符串减'0'就会隐性转化为int类型的数

#include<iostream>

#include<stdio.h>


int main(void)
{
int j=0,i=0,sum=0;

char temp[7]={'1','2','3','4','5','\0'},str[7];

while(temp[i])
{
sum = sum*10+(temp[i]-'0');
i++;
}

temp[i] = 0;
printf("  sum=%d\n",sum);

return 0;
}