C 語法之字串與數字轉化

2021-10-02 12:47:13 字數 803 閱讀 5042

採用最原始的string, 然後按照十進位制的特點進行算術運算得到int,但是這種方式太麻煩,這裡不介紹了。

採用標準庫中atoi函式。

string s = "12"; 

int a = atoi(s.c_str());

對於其他型別也都有相應的標準庫函式,比如浮點型atof(),long型atol()等等。

採用sstream標頭檔案中定義的字串流物件來實現轉換。

istringstream is("12"); //構造輸入字串流,流的內容初始化為「12」的字串 

int i;

is >> i; //從is流中讀入乙個int整數存入i中

1. 採用標準庫中的to_string函式。

int i = 12; 

cout << std::to_string(i) << endl;

不需要包含任何標頭檔案,應該是在utility中,但無需包含,直接使用,還定義任何其他內建型別轉為string的過載函式,很方便。

2. 採用sstream中定義的字串流物件來實現。

ostringstream os; //構造乙個輸出字串流,流內容為空 

int i = 12;

os << i; //向輸出字串流中輸出int整數i的內容

cout << os.str() << endl; //利用字串流的str函式獲取流中的內容

字串流物件的str函式對於istringstream和ostringstream都適用,都可以獲取流中的內容。

C 數字與字串之間的轉化

目錄與string字串的轉化 數字到char 的轉化 sprintf 在stdio.h中,at系列和strt系列在stdlib.h中 at系列和strt系列的相同點 兩個系列具有容錯能力,即遇到字串中的非法部分時,會將非法部分前的合法部分保留下來。如果字串整體非法,則返回 0 不同點 strt系列可...

字串轉化數字演算法(C )

自定義數字解析函式 說明 如果輸入的字串為空或非數字開頭則返回0,否則返回解析結果 輸入的字串 解析後的結果 static double coustomnumber string str if string.isnullorempty str return 0d 如果輸入的字串為空或null,則直接...

字串轉化為數字

如何把entry中輸入的字串轉化為對應的數字 例如,如果輸入為s 0 12 3 40 怎麼把它轉化為對應的數字呢?根據需要,胡亂寫了 記錄在此。功能 把字串轉化為數字列表 輸入s 字串 輸出 數字列表 def strtonum s s 0 12 3 40 p 用來存放字串中的數字 0,1,2,3,4...