功能:數(shù)字字符串轉(zhuǎn)整型int,去除高位0。
渠縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,渠縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為渠縣上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的渠縣做網(wǎng)站的公司定做!
注意:不要輸入超出int范圍。
#include?stdio.h
#include?string.h
int?pw10(int?m);//計(jì)算10次方
int?str2int(char?*nums);
int?main()
{
char?nums[]="0103456";
int?num;
printf("原字符串:%s\n",nums);
num=str2int(nums);
printf("轉(zhuǎn)成整型后的數(shù)字為:%d\n",num);
return?0;
}
int?pw10(int?m)//計(jì)算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語言中可以調(diào)用atoi()函數(shù)將字符串?dāng)?shù)字轉(zhuǎn)換成整型數(shù),所需要頭文件為stdlib.h
函數(shù)原型:int atoi( char *s) ;
函數(shù)說明:將字符串s轉(zhuǎn)換為整型值,返回給調(diào)用者。
參考代碼:
相關(guān)函數(shù)還有:
atof():將字符串轉(zhuǎn)換為雙精度浮點(diǎn)型值。
atol():將字符串轉(zhuǎn)換為長整型值。
strtod():將字符串轉(zhuǎn)換為雙精度浮點(diǎn)型值,并報(bào)告不能被轉(zhuǎn)換的所有剩余數(shù)字。
strtol():將字符串轉(zhuǎn)換為長整值,并報(bào)告不能被轉(zhuǎn)換的所有剩余數(shù)字。
strtoul():將字符串轉(zhuǎn)換為無符號長整型值,并報(bào)告不能被轉(zhuǎn)換的所有剩余數(shù)字。
#includestdio.h
#includestring.h
int?str2int(char?*ch);//字符型數(shù)字轉(zhuǎn)整型數(shù)字
int?p10(int?m);//計(jì)算10的次方,pow函數(shù)計(jì)算10次方有誤差,重寫函數(shù)
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等庫函數(shù),可分別把ASCII編碼的字符串轉(zhuǎn)化為int、long、float類型的數(shù)字。\x0d\x0a頭文件:stdlib.h\x0d\x0a函數(shù)原型:int atoi(const char* nptr);\x0d\x0a(另外兩個類似)\x0d\x0a\x0d\x0a舉個例子:\x0d\x0achar *str="123";\x0d\x0aint num=atoi(str);\x0d\x0a執(zhí)行后,num的值被初始化為123
網(wǎng)站名稱:c語言+字符轉(zhuǎn)數(shù)字函數(shù) c語言字符轉(zhuǎn)數(shù)字算法
文章源于:http://muchs.cn/article12/dojhsdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、搜索引擎優(yōu)化、云服務(wù)器、網(wǎng)站導(dǎo)航、移動網(wǎng)站建設(shè)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)