string型別的字串轉換成int 等型別的方法

2021-09-11 05:23:03 字數 1175 閱讀 6494

一、string轉int的方式

採用最原始的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中

二、int轉string的方式

採用標準庫中的to_string函式。

int i = 12; 

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

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

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

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

int i = 12; 

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

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

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

原文: 

一 概述(使用時要包含檔案,否則結果輸出可能不正確):

(1)atoi

*補充:itoa(int value,char *str,int radix)。

(2)atof

功 能: 把字串轉換成浮點數

用 法: double atof(const char *nptr);

(3)atol

功 能: 把字串轉換成長整型數

用 法: long atol(const char *nptr)

(4)atoll

功 能: 把字串轉換成長長整型數   

用 法: long long atoll(const char *nptr);

原文: 

字串型別轉換成整數型別

字串型別轉換成整數 atoi,atoi64 浮點型別,長整形 atol include 原型 double atof const char string 函式介紹 將字串轉換成浮點型 eg float f char str 1234.33 f atof str printf string s flo...

將資料型別轉換成字串,將字串轉換成資料型別

方法1 採用靜態方法 int a 123456789 string str string.valueof a 方法2 用包裝類轉換 float a 2.33f string str float.tostring a double a 2.33d string str double.tostring ...

字串轉換成列舉型別的方法

使用者user的註冊型別有s程式設計客棧uper和common兩種 複製 如下 public eumn registrationtype public user 考慮這樣一種情況,通過某種服務,客戶端會獲得伺服器端傳過來的類名以及各個屬性的值,包括user,也有其他的類product,shop等,當...