分四种: string转int;int 转string ; string转double ; double转string
1 string转int
方法1:使用stoi()函数
函数原型:
int stoi( const string& _Str, size_t *_Idx = 0, int _Base = 10 );
三个参数分别为:(字符串,起始位置,进制(2-32) )
后面两个参数一般默认即可
例子:
string s = "23":
int i = stoi(s);
方法2:使用stringstream(头文件为 < sstream > )
即借助stringstream间接实现转换,例子:
string s="35";
stringstream ss;
int a;
ss<<s;
ss>>a;
2 int 转string
方法1:使用to_string()函数
例子:
string s;
int i=12;
s=to_string(i);
方法2:使用stringstream
string s;
stringstream ss;
int a=12;
ss<<a;
ss>>s;
3 double转string
方法1:同样可以用 to_string()函数
方法2:使用sstream
4 string转double
方法1:使用stod()函数【类似stoi()】
方法2: 使用sstream
5 拓展
c++标准库还有一个string转int的函数 atoi(),十分类似stoi()
但是atoi()的参数是 const char* ,因此对于一个std::string类型的字符串我们必须调用 c_str()函数把这个string转换成 const char*类型的。
例子:
std::string str = "123";
int n = atoi(str.c_str());
cout<<n; //123
类似地,还有atof()函数,它类似stod()函数的用法。