具體的方法是:循環(huán)處理字符字符串中的每個(gè)字符,將其轉(zhuǎn)化為相應(yīng)的數(shù),然后加起來(lái),最后就可以得到轉(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ù)沒(méi)有考慮輸入為負(fù)數(shù)) 關(guān)于這個(gè)函數(shù)的使用方法,以下為一個(gè)例子 程序源代碼如下,已通過(guò)調(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)。已為蒼溪上1000家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的蒼溪做網(wǎng)站的公司定做!
int itoa(long int i, char a[])
{
int t=0,sign=1;
char tt;
if(i0)
{
? sign=-1;
? i=-i;
}
do
{
? a[t++]='0'+i%10;
}while(i/=10);
if(sign==-1)
{
? a[t++]='-';
}
a[t]='\0';
for(t--,i=0;it;i++,t--)
{
? tt=a[t];
? a[t]=a[i];
? a[i]=tt;
}
return 0;
}
c語(yǔ)言是沒(méi)法把字符串轉(zhuǎn)換成對(duì)應(yīng)函數(shù)的,c語(yǔ)言是結(jié)構(gòu)化語(yǔ)言,程序怎么執(zhí)行在編譯時(shí)已經(jīng)確定,沒(méi)法像c#之類的托管代碼高級(jí)語(yǔ)言能夠動(dòng)態(tài)綁定或者叫后期綁定。因?yàn)橥泄艽a有運(yùn)行時(shí)去選擇執(zhí)行,而c語(yǔ)言編譯后的可執(zhí)行文件為操作系統(tǒng)直接調(diào)用了,所以沒(méi)法動(dòng)態(tài)綁定。
字符串轉(zhuǎn)換函數(shù)如下:
字符串轉(zhuǎn)換為整數(shù) atoi
2.字符串轉(zhuǎn)換為長(zhǎng)整數(shù) atol
3.字符串轉(zhuǎn)換為浮點(diǎn)數(shù) strtod
4.字符串轉(zhuǎn)換為長(zhǎng)整數(shù) strtol
5.字符串轉(zhuǎn)換為無(wú)符號(hào)長(zhǎng)整型 strtoul
C語(yǔ)言是一門通用計(jì)算機(jī)編程語(yǔ)言,應(yīng)用廣泛。C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
盡管C語(yǔ)言提供了許多低級(jí)處理的功能,但仍然保持著良好跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語(yǔ)言程序可在許多電腦平臺(tái)上進(jìn)行編譯,甚至包含一些嵌入式處理器(單片機(jī)或稱MCU)以及超級(jí)電腦等作業(yè)平臺(tái)。