【问题标题】:Number precision in JavaScriptJavaScript 中的数字精度
【发布时间】:2011-03-24 04:04:24
【问题描述】:

为什么 100 == 99.999 为真,而 100 == 99.99 在 Javascript 中为假?

【问题讨论】:

    标签: javascript floating-point


    【解决方案1】:
    【解决方案2】:

    你从哪里得到这个结果?

    来自 Firefox 3.6.3 中的 Firebug 控制台

    >>> 100==99.99
    false
    >>> 100==99.999
    false
    >>> 100==99.9999
    false
    >>> 100==99.99999
    false
    >>> 100==99.999999
    false
    >>> 100==99.9999999
    false
    >>> 100==99.99999999
    false
    >>> 100==99.999999999
    false
    >>> 100==99.9999999999
    false
    >>> 100==99.99999999999
    false
    >>> 100==99.999999999999
    false
    >>> 100==99.9999999999999
    false
    >>> 100==99.99999999999999
    false
    >>> 100==99.999999999999999
    true
    

    【讨论】:

    • @airbai,现在你有两个问题:)
    【解决方案3】:

    为什么 100 == 99.999 在 Javascript 中为真?

    不是;您使用的任何 Javascript 实现都是错误的。

    然而 100 == 99.99 在 Javascript 中为假?

    因为他们不相等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 1970-01-01
      • 2022-11-01
      • 2013-05-24
      • 1970-01-01
      相关资源
      最近更新 更多