我正在做一個函數,輸入一個字符串類的數字,並將其轉換爲整數。例如將字符串轉換爲整數?
。我衝123,我會回到123作爲一個整數,或者我衝1D2F我......我猜得到它回來?但我想我會把任何基數恢復到十進制。 (但我怎麼才能讓這個字符串轉換爲十進制如果我不能完全肯定,你可以用串有效做數學題?
到目前爲止我stringToInt功能我有。
int StringToInt (string inputString){
int i;
int newIntegerLine;
for (i=0; i<inputString.length();i++){
//subtracts the ascii number of 0 from
//whatever character you input
newIntegerLine= (inputString.at(i)- '0');
}
return newIntegerLine;
}
我想我可以使用ascii數字來將字符轉換爲整數,但是當我運行它時,它會返回爲0.我真的不知道如何處理基本數字問題(如何處理AF,或者如果語句? )我可以在我的StringToInt函數中調用我的基函數嗎?或者已經有一個函數可以用來實現這個功能嗎?我只是把事情複雜化了嗎?
我的基本功能(這似乎工作我猜?二進制數似乎有一個小問題,當我衝入100並且說它在基數2時,我得到24回,因爲它是十進制等值。否則,它完美的作品)
int baseToDecimal (int numInput, int base){
int i, modSum;
modSum=numInput%10;
for(i=base;(numInput/=10)!=0;i*=base)
modSum+=numInput*i;
return modSum;
}
std :: stoi(string)有什麼問題? – ScarletAmaranth
無知我想。我簡直不知道一個叫做stoi的函數。我會查找它。 – Slender
@ScarletAmaranth我認爲它叫'atoi' http://www.cplusplus.com/reference/cstdlib/atoi/ – elyashiv