C++ char* 和 string 轉 double


頭文件:#include <stdlib.h>

函數 atof() 用於將字符串轉換為雙精度浮點數(double),其原型為:
double atof (const char* str);

atof() 的名字來源於 ascii to floating point numbers 的縮寫,它會掃描參數str字符串,跳過前面的空白字符(例如空格,tab縮進等,可以通過 isspace() 函數來檢測),直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字符串結束時('\0')才結束轉換,並將結果返回。參數str 字符串可包含正負號、小數點或E(e)來表示指數部分,如123. 456 或123e-2。

【返回值】返回轉換后的浮點數;如果字符串 str 不能被轉換為 double,那么返回 0.0。

溫馨提示:ANSI C 規范定義了 stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6個可以將字符串轉換為數字的函數,大家可以對比學習;使用 atof() 與使用 strtod(str, NULL) 結果相同。另外在 C99 / C++11 規范中又新增了5個函數,分別是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介紹,請大家自行學習。

頭文件:#include <string>

  函數:

  1.1 數值轉string

  to_string(val):可以將其他類型轉換為string。

  1.2 string轉數值

  stoi(s, p, b):string轉int

  stol(s, p, b):string轉long

  stod(s, p, b):string轉double

  stof(s, p, b):string轉float

  stold(s, p, b):string轉long dluble

  stoul(s, p, b), stoll(s, p, b), stoull(s, p, b)等。

  備注:返回s的起始子串(表示整數內容的字符串)的數值;b表示轉換所用的基數,默認為10(表示十進制);p是size_t的指針,用來保存s中第一個非數值字符的下標,p默認為0,即函數不返回下標。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM