atof函數源碼
Ⅰ c語言,關於atof()函數
經我測試,應該是你沒#include 「stdlib.h」,只#include 「stdio.h」不會報錯,但是atof輸出有問題。但奇怪的是atoi不會出現這個問題。
Ⅱ C語言中有沒有把字元轉型化為 浮點型的函數
C語言中將字元串轉型化為浮點型數據的函數有:atof()
和
strtod()
頭文件:
#include <stdlib.h>
函數原型:
double atof (const char* str);
【參數說明】str 為要轉換的字元串。
【函數說明】atof() 函數會掃描參數str字元串,跳過前面的空白字元(例如空格,tab縮進等,可以通過 isspace() 函數來檢測),直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字元串結束時('\0')才結束轉換,並將結果返回。參數str 字元串可包含正負號、小數點或E(e)來表示指數部分,如123. 456 或123e-2。
【返回值】返回轉換後的浮點數;如果字元串 str 不能被轉換為 double,那麼返回 0.0。
double strtod (const char* str, char** endptr);
【參數說明】str 為要轉換的字山纖符串,endstr 為第一逗團仿個不能轉換的字元的指針。
【函數說明】strtod() 函數或咐會掃描參數str字元串,跳過前面的空白字元(例如空格,tab縮進等,可以通過 isspace() 函數來檢測),直到遇上數字或正負符號才開始做轉換,到出現非數字或字元串結束時('\0')才結束轉換,並將結果返回。參數 str 字元串可包含正負號、小數點或E(e)來表示指數部分。如123. 456 或123e-2。
若endptr 不為NULL,則會將遇到的不符合條件而終止的字元指針由 endptr 傳回;若 endptr 為 NULL,則表示該參數無效,或不使用該參數。
【返回值】返回轉換後的浮點型數;若不能轉換或字元串為空,則返回 0.0。
使用 atof( str ) 與使用 strtod(str, NULL) 結果相同。
一般應用方法為:
char str[]="123.45";
double d=atof(str);
printf("%.2lf", d ); //輸出123.45
Ⅲ C語言中 double atof(char *) 是啥意思
(char*)指以「\0」為結束的字元串!你是不是要找某個字元串的地址?