【问题标题】:There is a сalculation error during addition of two numbers in Scala [duplicate]在Scala中添加两个数字时出现计算错误[重复]
【发布时间】:2021-11-29 10:51:51
【问题描述】:

当我将两个数字相加时,会出现类似的计算错误:

0.1 + 0.2 = 0.30000000000000004

我可以在不四舍五入的情况下解决这个问题吗?

【问题讨论】:

    标签: scala numbers add operation


    【解决方案1】:

    简而言之:没有。 尝试谷歌浮点运算。这应该可以回答您的所有问题。

    https://0.30000000000000004.com/

    "Floating point is broken" duplicates

    https://floating-point-gui.de/

    【讨论】:

    • 这几乎是一个仅链接的答案,唯一的可取之处是“否”。将来最好至少总结一下链接中的信息。 meta.stackoverflow.com/a/288056/238704
    • 不是。该链接只是一个额外的提示。这个答案的主要部分是“关键字”浮点运算。如果你在任何搜索引擎中查找它,你会立即得到答案。
    【解决方案2】:

    你也可以使用不同于Double的东西,比如BigDecimal

    BigDecimal.valueOf(0.1) + BigDecimal.valueOf(0.2)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-08
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多