字串轉化為整數可能是實際程式設計中最常用到的方法了,因為因為string很容易通過下標對每一位的數字進行操作,但是卻沒辦法實現int的加減乘除等,所以在實際程式設計中經常需要先用string 存下資料,操作完後再轉化為int型別
有兩種比較實用的方法可以實現
方法一:自己寫乙個函式來實現
class solutionint 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...