我正在做一个函数,输入一个字符串类的数字,并将其转换为整数。例如将字符串转换为整数?
。我冲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