功能:数字字符串转整型int,去除高位0。
渠县网站建设公司创新互联建站,渠县网站设计制作,有大型网站制作公司丰富经验。已为渠县上千提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的渠县做网站的公司定做!
注意:不要输入超出int范围。
#include stdio.h
#include string.h
int pw10(int m);//计算10次方
int str2int(char *nums);
int main()
{
char nums[]="0103456";
int num;
printf("原字符串:%s\n",nums);
num=str2int(nums);
printf("转成整型后的数字为:%d\n",num);
return 0;
}
int pw10(int m)//计算10次方
{
int i,mu=1;
if(m==0)
return 1;
for(i=0;im;i++)
mu= mu*10;
return mu;
}
int str2int(char *nums)
{
char *p=nums;
int len=strlen(nums),i,m=0,sum=0;
while(1)//去高位0
{
if(*p=='0')
p++;
else
break;
}
for(i=len-1;nums[i]=p;i--)
sum=sum+(nums[i]-'0')*pw10(m++);
return sum;
}
C语言中可以调用atoi()函数将字符串数字转换成整型数,所需要头文件为stdlib.h
函数原型:int atoi( char *s) ;
函数说明:将字符串s转换为整型值,返回给调用者。
参考代码:
相关函数还有:
atof():将字符串转换为双精度浮点型值。
atol():将字符串转换为长整型值。
strtod():将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字。
strtol():将字符串转换为长整值,并报告不能被转换的所有剩余数字。
strtoul():将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字。
#includestdio.h
#includestring.h
int str2int(char *ch);//字符型数字转整型数字
int p10(int m);//计算10的次方,pow函数计算10次方有误差,重写函数
int main()
{
char ch[]="234";
int n;
n=str2int(ch);
printf("n=%d\n",n);
return 0;
}
int str2int(char *ch)
{
int len=strlen(ch),i,n=0,m=0;
for(i=len-1;i=0;i--)
{
n=n+(ch[i]-'0')*p10(m++);
}
return n;
}
int p10(int m)
{
int i,sum=1;
if(m==0)
return 1;
for(i=0;im;i++)
sum=sum*10;
return sum;
}
C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。\x0d\x0a头文件:stdlib.h\x0d\x0a函数原型:int atoi(const char* nptr);\x0d\x0a(另外两个类似)\x0d\x0a\x0d\x0a举个例子:\x0d\x0achar *str="123";\x0d\x0aint num=atoi(str);\x0d\x0a执行后,num的值被初始化为123