這期內容當中小編將會給大家帶來有關字符串string與整數int如何在C++中實現互相轉化,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
1、采用最原始的string, 然后按照十進制的特點進行算術運算得到int,但是這種方式太麻煩,這里不介紹了。
2、采用標準庫中atoi函數。
string s = "12";
int a = atoi(s.c_str());
對于其他類型也都有相應的標準庫函數,比如浮點型atof(),long型atol()等等。
3、采用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++ 將整數、浮點數轉為字符串
前言:
用 sprintf可以把整數、浮點數轉為字符串。
1、整數
int main(int argc, const char * argv[]) { int n = 12345;//待轉整數 char strN[50];//轉換后的字符串 sprintf(strN, "%d", n); cout<<strN<<endl;//輸出 return 0; }
結果:
2、浮點數
int main(int argc, const char * argv[]) { float n = 12345.67;//待轉整數 char strN[50];//轉換后的字符串 sprintf(strN, "%.2f", n); cout<<strN<<endl; return 0; }
結果:
上述就是小編為大家分享的字符串string與整數int如何在C++中實現互相轉化了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。