1.将字符串的整数字符转换成整数类型:string a="5" ------> int c=5;的函数:int c=stoi(a);
string a="5" ------> long long b=5;的函数:long long b =stol(a)
string a="5.15" ------> double c=5.15;的函数:double c= stol(a)
2.将整数转换成字符串类型:int a=5 ------> string v="5";的函数:string v=to_string(a);
double a=5 ------> string v="5";的函数:string v=to_string(a);
使用实例:
cpp
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
int main(){
string a;
cin>>a;//输入3456【也就是让a="3456"】
int q=(int)a[0];
int v=(int)'3';
int p=stoi(a);
cout<<"a="<<a<<endl;
cout<<"p="<<p<<endl;
cout<<"q="<<q<<endl;
cout<<"v="<<v<<endl;
string n=to_string(v);
n+="nihao";
cout<<"n="<<n<<endl;
return 0;
}
浮点数也是一样的道理:
cpp
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
int main(){
string a;
cin>>a;
double p=stod(a);
cout<<p;
return 0;
}
运行结果:

浮点数的运行结果:

解析:上面的代码以【cin>>a】输入的是:3456为例:
a的数据类型是:string a="3456";
p的数据类型是:int p=3456;
string a="3456";在c/c++中可以等价为:char a[4]={'3','4','5','6','\0','\0',...};//后面有无穷个空字符'\0' ,
所以a[0]='3',字符'3'在ASCII码中的值为51,所以(int)'3'=51;此时的数据类型是int q=51,v=51。
v的数据类型是int,通过to_string(v)="51",此时的数据类型是字符串 string n="51"。字符串类型可以直接加减,所以n+="nihao"的结果是n="51nihao"。