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;

這邊是第二種方法。

 

下次遇見了繼續學習更新。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM