C++中的string类型转换为int类型

今天遇见了一个题,感觉这个题很常见,所以就把它写下来,下次遇见感觉不太熟练的话,继续复习一下。

C++中的string类型转换为int类型C++中的string类型转换为int类型

这个题比较简单,很容易做出来,但是这个题主要有一个关键点,那就是类型转化,主要是我按照自己的思路来写的方法会涉及到类型转化,用其他的方法肯定也会是不一样的。

我的代码如下:

#include<iostream>
#include<cstdlib>
using namespace std;

int main()
{
    
    string A,B;
    
    while(cin>>A>>B)
    {
        long a,b;
        int i,j,Q=0;  
        for(i=0;i<A.length();i++)
        {
            a= int(A[i])-48;
            for(j=0;j<B.length();j++)
            {
                b = int(B[j])-48;
                Q =Q + a*b;
            }
        }
        cout<<Q<<endl;
    }
    return 0;
}

对于这种永远都不知道输入的数据有多大,有多长的时候,我总是习惯性地用string类型,我觉得那种类型适合各种各样的数据。ok,言归正传。

将string里面的单个字符一一转化为int类型的时候,可以考虑利用ASCII码。

例如“5”=int(‘5’)-48;

这种方法适合你需要将其进行一一转化。

另外一种就是atoi()等一系列方法

● atof():将字符串转换为双精度浮点型值。
● atoi():将字符串转换为整型值。
● atol():将字符串转换为长整型值。

而这个方法的使用如下:

char a[] ="4563";
int b;
b= atoi(a);

得出来的b=4563;

这边是第二种方法。

下次遇见了继续学习更新。