一、string转int
由于int所能表示有限,1、2方法只适用于短string。
3方法可做长string加减法,通过引进carry借位,从个位按位相加减。
方法1:
int main()
{
string a="152342";
char num[100];
strcpy(num,a.c_str());//<string.h>
cout<<num<<"\n";//char数组转int
int c;
c=strtol(num,NULL,10);//<stdlib.h>
cout<<c;
return 0;
}
方法2:
int main()
{
int c=0;
string a="152312";
for(int i=0;i<a.length();i++)
{
c=c*10+(a[i]-'0');
}
cout<<c;
re<span style="font-size:14px;">turn 0</span>;
}
方法3:
int main()
{
int c=0;
string a="152312";
for(int i=0;i<a.length();i++)
{
c=c*10+(a[i]-'0');
}
cout<<c;
return 0;
}
二、int转string
方法1:
<span style="font-size:14px;">int main()
{
int add=123456789;
string s;
while(add)
{
string temp="";
temp=add%10+'0';
s=temp+s;
add=add/10;
}
cout<<s;
return 0;
} </span>
方法2:
int main()
{
int a=123456;
stringstream ss;//#include<sstream>
ss<<a;
cout<<ss.str();
return 0;
}