javascript - JavaScript 中 0.3 的字面表示

标签 javascript floating-point ieee-754

如果我在 Chrome 控制台中输入 0.3,它会向我打印 0.3

这基本上是在说:“您输入了内容为 0.3 的数字文字,为了方便起见,我会在控制台中将该表示形式重播给您,尽管实际上是在幕后它无法准确表示,我能想到的最佳近似值是 0.30000000000000004"?

最佳答案

实际上,internal representation

0.299999999999999988897769753748434595763683319091796875

它可能会打印 0.29999999999999999,这是四舍五入到 17 位有效数字的内部值。四舍五入为 17 digits is the conservative way to preserve any internal value 。但在本例中 0.3 也同样有效(毕竟,这就是您开始时使用的值),并且由于它更短,所以这就是打印的内容。

所以它并没有接受你的字符串输入并回显它——它只是以这种方式工作(就像对于 15 个或更少有效数字的任何输入一样)。

关于javascript - JavaScript 中 0.3 的字面表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39613803/

相关文章:

java - 从包含大于 Double.MaxValue 的值的字符串中解析 double

floating-point - 在浮点表示法中,不同范围最多可表示多少个值?

javascript - 如何在 JavaScript 上使用博客变量

python - 表示 [0, 255] 范围内的值所需的最小小数位数

c++ - IEEE 754 浮点除法的可逆性

c++ - generate_canonical 输出是否跨平台一致?

java - 使用 Java 迭代所有浮点值

javascript - OO Javascript 调试 - 带过渡的图像交换

javascript - 使用 Jquery 和 CSS 的嵌套菜单

javascript - Wikitude SDK for Android 中使用 Javascript 的原因是什么?