【问题标题】:How does the internally parsing of numbers and especially decimal numbers work? [duplicate]数字,尤其是十进制数字的内部解析是如何工作的? [复制]
【发布时间】:2015-08-06 05:43:23
【问题描述】:

如何将字符串内部解析为数字格式?我想象过这样的事情。这是否与实际实现相匹配?

(与任何特定的编程语言无关)

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;
}

【问题讨论】:

    标签: parsing numbers


    【解决方案1】:

    您首先获取每个数字值,然后根据需要乘以 10 的实现是一种常见的实现。比如this one from MS,和你的实现基本一样。

    在大多数语言中,您可以通过从输入字符中减去字符 '0' 来获得整数值,因为文本编码的工作方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2015-05-23
      • 2019-01-30
      • 1970-01-01
      • 2018-11-04
      相关资源
      最近更新 更多