在C/C++中,字符以ASCII的形式存储。通常情况下,我们可以通过两种方式将单个数字字符转化为int类型。
方法一:
#include <iostream>
using namespace std;
int main()
{
char x='1';
int y=int(x)-48; //48是0的ASCII码
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl;
return 0;
}
方法二:
#include <iostream>
using namespace std;
int main()
{
char x='9';
int y=x-'0';
cout<<"x:"<<x<<endl;
cout<<"y:"<<y<<endl;
return 0;
}
将以上方法进行扩展,我们就可得到以下代码,实现将字符串形式的数组转化为整形。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s="123456789";
int nums=0;
for(int i=0;i<s.size();++i)
nums=s[i]-'0'+nums*10;
cout<<"nums:"<<nums<<endl;
return 0;
}