1.string转换为数字
先判断是正数还是负数,即str[0]是字符还是数字(参照ASCII码判断)
如果是正数则for循环从str[0]开始;负数从str[1]开始,最后用0减去即可。
注意要“-‘0’”
#include<string>
string str;
cin>>str;
int len=str.length();
int num=0;
if(str[0]>=30&&str[0]<=39) //正数
{
for(int i=0;i<len;i++)
{
num=str[i]+num*10-'0';
}
}
else //负数
{
for(int i=1;i<len;i++)
{
num=str[i]+num*10-'0';
}
num=0-num;
}
2.数字转换为string
to_string()函数,整数浮点数都可用
#include<string>
str=to_string(a0);