C++的char、string类型的数字转换成int类型

1.string类型转成int类型:

#include<iostream>
#include<string>
#include<typeinfo>
#include<sstream>
using namespace std;

int main()
{
    string text;
    cin>>text;
    cout<<typeid(text).name()<<endl;
    int number;
    stringstream ss;

    ss<<text;
    ss>>number;
    cout<<number<<endl;
    cout<<typeid(number).name()<<endl;
}

神仙同学看我写的上面那个,说时间效率会很低,给了我另一个厉害的写法:

#include<bits/stdc++.h>
#include<typeinfo>
using namespace std;
int main()
{
    string s="24234";
    int x=0;
    for(int i=0;i<s.size();i++)
        x=x*10+s[i]-'0';//字符2转成数字2
    cout<<x<<endl;
    cout<<typeid(x).name()<<endl;
}

2.char类型转换成int类型:

#include<iostream>
using namespace std;
int main()
{
    char c='1'
    int a=c-'0';
    cout<<a<<endl;
}

猜你喜欢

转载自blog.csdn.net/weixin_37856444/article/details/89477800