字串與數字之間的轉換
atof() 的功能:(將字串轉換成浮點型數)
相關函式: atoi,atol,strtod,strtol,strtoul
所屬庫名:and
標頭檔案: #include
定義函式:double atof(const char *nptr);
函式說明:
atof()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束時(』\0』)才結束轉換,並將結果返回。引數nptr字串可包含正負號、小數點或e(e)來表示指數部分,如123.456或123e-2。
舉例:
#include
#include
intmain()
執行結果:-100.230000
2.atoi() 的功能: ( 將字串轉換成整型數)
標頭檔案: #include
定義函式:int atoi(const char *nptr)
函式說明:
函式會掃瞄引數 nptr字串,會跳過前面的空白字元(例如空格,tab縮排)等。如果 nptr不能轉換成 int 或者 nptr為空字串,那麼將返回 0 。特別注意,該函式要求被轉換的字串是按十進位制數理解的。atoi輸入的字串對應數字存在大小限制(與int型別大小有關),若其過大可能報錯-1。
舉例:#include
#include
char *a="-100.23";
printf("%d",atoi(a));
執行結果:-100
3.atol() 功能:(將字串轉換為長整型數)
4.strtol() 功能 (將引數nptr字串根據引數base來轉換成長整型數,引數base範圍從2至36)
函式定義:
long int strtol(const char *nptr,char **endptr,int base);
函式說明:
引數base範圍從2至36,或0。引數base代表採用的進製方式,如base值為10則採用10進製,若base值為16則採用16進製制等。當base值為0時則是採用10進製做轉換,但遇到如』0x』前置字元則會使用16進製做轉換、遇到』0』前置字元而不是』0x』的時候會使用8進製做轉換。
一開始strtol()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,再遇到非數字或字串結束時(』\0』)結束轉換,並將結果返回。若引數endptr不為null,則會將遇到不合條件而終止的nptr中的字元指標由endptr返回;若引數endptr為null,則會不返回非法字串。
舉例:`char *a=「11」;
char *b=「1」;
char c[1000];
int x,y,n;
//將a和b兩個字串轉化為用十進位制整數表示的二進位制數
x=strtol(a,null,2);
y=strtol(b,null,2);`
將數轉換為字串
6.gcvt() 功能:(把浮點數轉換成字串,同時返回乙個指向字串的儲存位置的指標)
用 法: char *gcvt(double value, int ndigit, char *buf);
包含標頭檔案:
引數value——被轉換的值。
digits——儲存的有效數字位數。
buffe——結果的儲存位置。
返回值返回乙個指向結果的儲存位置的指標
舉例:#include
#include
int main()
執行結果:123.5 //(四捨五入)
7.toascii() 功能:(將整形數轉換為ascii碼字元)
舉例:#include
#include
int main()
執行結果:89
y8.tolower() 功能:(將大寫字母轉換成小寫字母)
舉例:#include
#include
int main()
執行結果:abcde
}9.toupper() 功能:(將小寫字母轉換成大寫字母)
同上8
數字與字串之間的轉換
c語言為我們提供了數字和字串之間的轉換函式,這些函式有很多,常用的有 整型數轉字串函式itoa char itoa int value,char string,int radix int value 被轉換的整數,char string 轉換後儲存的字元陣列,int radix 轉換進製數,如2,8...
數字與字串之間的轉換
2 數字轉字串 使用sprintf 函式 char str 10 int a 1234321 sprintf str,d a char str 10 double a 123.321 sprintf str,3lf a char str 10 int a 175 sprintf str,x a 10...
字串與數字之間的轉換
c 11 提供了若干 to string t value 函式來將 t 型別的數字值轉換為字串形式。以下是幾個 to string 函式的列表 string to string int value string to string long value string to string double...