C庫函式 字串轉數字整理

2022-07-28 02:18:13 字數 955 閱讀 1567

atof(將字串轉換成浮點型數)

atoi(將字串轉換成整型數)

atol(將字串轉換成長整型數)

strtod(將字串轉換成浮點數)

strtol(將字串轉換成長整型數)

strtoul(將字串轉換成無符號長整型數)

toascii(將整型數轉換成合法的ascii 碼字元)

toupper(將小寫字母轉換成大寫字母)

tolower(將大寫字母轉換成小寫字母)

1

int atoi(const

char *nptr)222

23if (sign == '-'

)24return -total;

25else

26return total; /*

return result, negated if necessary

*/27 }

atoi函式原始碼

1

double atof(char s) //

將字串s轉換成double型的浮點數 2

31if(s[i] == '

e' || s[i] == '

e') //

如果寫成s[i++] == 'e' || s[i++] == 'e',if(s[i] == '-')

32//

則當輸入的字串帶有e時,不能正確得到結果,這是因為在一

33//

個語句中使用兩次自增操作,引起歧義

34if(s[++i] == '-'

) 35

43else

44

5152 power = pow(10

, flag);

53return sign * val /power;

5455 }

atof函式**

C 字串轉數字

c 字串與數字的轉換應該是很常見的問題,每次遇到了再去查有點費勁,乾脆記錄下來 stod 字串轉double stof 字串轉float stoi 字串轉int stol 字串轉long stold 字串轉double stoll 字串轉long long stoul 字串轉unsigned lon...

數字轉字串 字串轉數字

數字轉字串 這裡首先用到乙個陣列逆置函式如下 void reverse char arr 逆置 for p arr p arr p 將arr陣列逆置 因為將乙個數字轉成字串,若果是從右往左依次獲得,操作較容易,所以以此得到的字串是數字的逆序字串,所以要逆置,才可得到順序 如下 void myitoa...

字串轉數字

注意進製,注意小數,負數,指數。小數跟指數比較繁瑣。應該對字串做限制,字串只是整數字串。否則,以下幾種情況都是會報錯 1.0x011.011,0b011.011都是錯誤的。2.0100.011實際上是十進位制的100.01。3.指數表示造成邏輯更多了。鑑於以上幾個情況考慮,為簡化,整數字串轉數字。草...