如何将字符串内部解析为数字格式?我想象过这样的事情。这与实际实现相匹配吗?
(与任何特定编程语言无关)
int getDigit(char c)
{
if (c == '0')
return 0;
if (c == '1')
return 1;
if (c == '2')
return 2;
// ...
}
int parseInt(string str)
{
int result = 0;
for (int i = 0; i < strlength(str); i++)
result = result * 10 + getDigit(str[i]);
return result;
}
答案 0 :(得分:0)
您首先获取每个数字值,然后将其乘以10,这是一种常见的实现。例如,this one from MS与您的实现基本相同。
在大多数语言中,您可以通过从输入字符中减去字符'0'
来获取整数值,因为文本编码的工作方式。