【问题标题】:JS number function adds up zeros at the end [duplicate]JS数字函数最后加零[重复]
【发布时间】:2017-07-20 11:05:13
【问题描述】:

我正在使用Number() JS 函数,它应该将字符串值转换为数字。

它适用于小数字。对于大的 - 它开始用零替换值,如图所示:

这个问题有解决办法吗?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    在JS中,最大整数值为9007199254740991,即所有正负整数分别不能超过-90071992547409919007199254740991

    同样定义为253-1。

    console.log(Number.isSafeInteger(parseInt('1111111111')))
    console.log(parseInt('1111111111'))
    console.log(Number.isSafeInteger(parseInt('111111111111111111')))
    console.log(parseInt('111111111111111111'))
    //9007199254740991 - The largest JS Number
    console.log(Number.isSafeInteger(parseInt('9007199254740991')))

    【讨论】:

      【解决方案2】:

      这是因为您使用的数字大于 Number.MAX_SAFE_INTEGER,而 Javascript 不能保证正确表示这些数字

      使用Number.isSafeInteger检查:

      > Number.isSafeInteger(Number('111111111111111111'))
      < false
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-11-21
        • 2012-12-15
        • 2020-05-30
        • 2013-07-30
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        相关资源
        最近更新 更多