【发布时间】:2014-03-04 12:50:45
【问题描述】:
为什么 0.6 / 0.2 = 2.9999999999999996 的“除”算术计算给出了 javascript 函数,而不是 3
【问题讨论】:
标签: javascript
为什么 0.6 / 0.2 = 2.9999999999999996 的“除”算术计算给出了 javascript 函数,而不是 3
【问题讨论】:
标签: javascript
因为在二进制中,0.6 不完全是 0.6,而0.2 也不完全是 0.2。
“不完全是 0.6”/“不完全是 0.2”=“不完全是 3”
在计算机中,所有数字都以二进制表示。当你写0.6时,电脑实际上存储了……
1/2 + 1/16 + 1/32 + 1/256 + ...
0.2 类似:
1/8 + 1/16 + 1/128 + 1/256 + ...
因此,您得到的结果类似于对所有这些项目进行搜索,得出的结果与3 几乎但不完全不同。
仅在可能的情况下考虑使用整数。
进一步编辑:您实际上可以在浏览器的控制台中观察到这一点。
你看到了吗?除法的结果非常接近,但不完全是预期的答案。
【讨论】: