具體的方法是:循環(huán)處理字符字符串中的每個(gè)字符,將其轉(zhuǎn)化為相應(yīng)的數(shù),然后加起來,最后就可以得到轉(zhuǎn)化后的整數(shù) 我這個(gè)程序可以處理字符串范圍為長(zhǎng)整型的取值范圍 這個(gè)函數(shù)源碼如下: ------------------------------------------------------------------ long toInteger( char* str ) { long result = 0; int len; int i = 0; long tmp; len = strlen( str ); while ( i len ) { tmp = *str++ - '0'; if ( 9 tmp ) { printf( "\"%c\" is not a number!\n" , tmp + '0' ); break; } tmp *= pow( 10 , len - i - 1 ); result += tmp; i ++; } return result; } 本函數(shù)可以對(duì)輸入的字符串進(jìn)行錯(cuò)誤識(shí)別,若包含非數(shù)字字符則報(bào)錯(cuò)(函數(shù)沒有考慮輸入為負(fù)數(shù)) 關(guān)于這個(gè)函數(shù)的使用方法,以下為一個(gè)例子 程序源代碼如下,已通過調(diào)試編譯,可以運(yùn)行: ---------------------------------------------------------------------- #include "stdio.h" #include "math.h" #include "string.h" long toInteger( char* str ); int main() { char* str = "123456"; long a; clrscr(); a = toInteger( str ); printf( "%ld\n" , a ); return 0; } long toInteger( char* str ) { long result = 0; int len; int i = 0; long tmp; len = strlen( str ); while ( i len ) { tmp = *str++ - '0'; if ( 9 tmp ) { printf( "\"%c\" is not a number!\n" , tmp + '0' ); break; } tmp *= pow( 10 , len - i - 1 ); result += tmp; i ++; } return result; }
西豐網(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)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的西豐做網(wǎng)站的公司定做!
字符串轉(zhuǎn)整數(shù)可以有兩種方法:
1.使用c語言自帶的庫函數(shù):atoi。
函數(shù)原型:int atoi(const char *nptr);
功能:把字符串轉(zhuǎn)成整型數(shù)。
例如:
#include?stdlib.h
#include?stdio.h?
int?main(void)
{
int?n;
char?*str?=?"12345";
n?=?atoi(str);
printf("int=%d\n",n);
return?0;
}
/*
輸出:
int?=?12345
*/
2.可以自己編寫一個(gè)轉(zhuǎn)換函數(shù):
#include?stdio.h
#include?stdlib.h
int?atoi(char?*s)
{
int?t=0;
while(*s){
t=t*10+*s-'0';
s++;
}
return(t);
}
int?main?()
{
char?a[]="12345";
int?n?=?atoi(a);
printf("n=%d?",n);
return?0;
}
/*
輸出:
n?=?12345
*/
在C語言中將字符串轉(zhuǎn)化成整型有兩種方法。
1 用atoi函數(shù)。
atoi的功能就是將字符串轉(zhuǎn)為整型并返回。其聲明為
int atoi(char *str);
比如atoi("1234");會(huì)返回整型1234。
要調(diào)用atoi,需要引用頭文件stdio.h
2 用sscanf。
sscanf與標(biāo)準(zhǔn)格式化輸入函數(shù)scanf類似,不過源并非是標(biāo)準(zhǔn)輸入,而是字符串。
用sscanf可以處理更復(fù)雜的字符串。
比如字符串char * str = "a=1, b=2";
定義int a,b;后
可以用
sscanf(str,"a=%d, b=%d",a,b);
來將a,b值提取,計(jì)算后,a=1, b=2。
要使用sscanf同樣需要引用頭文件stdio.h。
網(wǎng)站欄目:c語言字符轉(zhuǎn)化為整型函數(shù) c語言字符類型轉(zhuǎn)換為數(shù)字類型
路徑分享:http://jinyejixie.com/article46/dosgpeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、電子商務(wù)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)