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 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/

猜你喜欢

转载自www.cnblogs.com/zpcoding/p/10654750.html
今日推荐