把字串轉化為整數的方法

2022-09-16 03:00:15 字數 809 閱讀 7737

字串轉化為整數可能是實際程式設計中最常用到的方法了,因為因為string很容易通過下標對每一位的數字進行操作,但是卻沒辦法實現int的加減乘除等,所以在實際程式設計中經常需要先用string 存下資料,操作完後再轉化為int型別

有兩種比較實用的方法可以實現

方法一:自己寫乙個函式來實現

class solution 

int result=0;

int flag=1;

int i=0;

if(str[i]=='-')//只能是在資料的首位輸入符號,所以只需要一次判斷即可

if(str[i]=='+')

while(str[i]!='\0')

if(str[i]>='0'&&str[i]<='9')

else

}return result;

}};

方法二:呼叫庫函式atio

#include#include#includeusing namespace std;

int main()

{ string str;

cin>>str;

int result=0;

result=atoi(str.c_str());

coutstring 是c++ stl定義的型別,atoi是 c 語言的庫函式,所以要先轉換成 char* 型別才可以用 atoi。

atoi函式原型

int atoi(const char *nptr);

c_str是borland封裝的string類中的乙個函式,它返回當前字串的首字元位址。

把字串轉化為整數

將乙個字串轉換成乙個整數 實現integer.valueof string 的功能,但是string不符合數字要求時返回0 要求不能使用字串轉換整數的庫函式。數值為0或者字串不是乙個合法的數值則返回0。輸入乙個字串,包括數字字母符號,可以為空 如果是合法的數值表達則返回該數字,否則返回0 例子 21...

整數轉化為字串和字串轉化為整數

整數轉化為字串 includeint main temp i 0 為什麼等於0就可以,因為將temp定義為字串陣列後,等號右邊的數相當於ascii碼值,0就相當於 0 如果寫為61,輸出就為 12345 printf s temp i i 1 while i 0 str j temp i str j...

字串轉化為整數

字串轉化為整數需要注意以下幾個問題 1.檢測非法輸入 2.空串 空指標 3.判斷數字的正負 4.處理數字的上下溢位。因為整數是有範圍的。include long long strtointcore const char digit,bool minus enum status int g nstat...