1. 程式人生 > >c++ 中的數字和字符串的轉換

c++ 中的數字和字符串的轉換

pre end bst span tof lan hid href 開始

理由:一直忘記數字型的字符串和數字之間的轉換,這次總結一下,以便後面再次用到。

其實 C++ 已經給我們寫好了相應的函數,直接拿來用即可

QA1:如何把一個數字轉換為一個數字字符串?(這個不是很常用)

函數:to_string(C++11)

函數原型:string to_string(int val)

string to_string(long val)

string to_string(long long val)

string to_string(unsigned val)

string to_string(unsigned long val)

string to_string(unsigned long long val)

string to_string(float val)

string to_string(double val)

string to_string(long double val)

Example:

技術分享圖片
1 int _tmain(int argc, _TCHAR* argv[])
2 {
3     int val = 12345;
4     string digit = "the string is 
" + to_string(val); 5 cout << digit << endl; 6 system("pause"); 7 return 0; 8 }
to_string

QA2:如何把一個數字型字符串轉換為對應的數字型數字?

函數:stoi,stod,stof,stol,stold,stoll,stoul,stoull

函數原型:int stoi(const string& str, size_t* idx = 0, int base = 10)

int stoi(const wstring& str,size_t* idx = 0, int base = 10)

Example:

技術分享圖片
 1 int _tmain(int argc, _TCHAR* argv[])
 2 {
 3     string digit = "12345abc";
 4 //    string::size_type sz;
 5     unsigned int sz;
 6     int val = stoi(digit, &sz, 10);
 7     cout <<"the digit is " <<val << endl;
 8     cout << "從不是數字開始的剩下的字符為:"<<digit.substr(sz) << endl;
 9     system("pause");
10     return 0;
11 }
stoi

更多詳細信息可以查看:http://www.cplusplus.com/reference/string/stoi/

c++ 中的數字和字符串的轉換