c++ 中的數字和字符串的轉換
理由:一直忘記數字型的字符串和數字之間的轉換,這次總結一下,以便後面再次用到。
其實 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 isto_string" + to_string(val); 5 cout << digit << endl; 6 system("pause"); 7 return 0; 8 }
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++ 中的數字和字符串的轉換