gpt4 book ai didi

JavaScript 精度

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:30 31 4
gpt4 key购买 nike

关于这个话题已经说了很多,但是我找不到我的问题的确切答案。

JavaScript 无法准确表示 0.1 等小数,这是可以理解的。

例如,由于乘法运算期间发生舍入误差,这是正确的:

0.1 * 3 === 0.30000000000000004

这很好 - 完全符合 IEEE 浮点运算标准 (IEEE 754)。

我无法理解的是为什么其他也使用该标准的语言会提供更准确的测量值

0.1 * 3 === 0.3

这是因为他们使用不同的舍入规则吗? https://en.wikipedia.org/wiki/IEEE_floating_point#Rounding_rules还是我遗漏了什么?

最佳答案

任何使用 IEEE 754 float 的数学语言都将出现与您在 JavaScript 中看到的相同的舍入问题。

一些语言,例如 C# 提供了一个 Decimal 类型,它具有更精确的数学处理,以小数精度换取范围。

在 JavaScript 中有一些不同的浮点库,例如 BigDecimal ,但由于它们没有嵌入到语言中,因此您不能使用常规数学运算符,例如 +*

关于JavaScript 精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35380501/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com