我只是在Node.js中随机发现了以下内容
0.3 + 0.2 === 0.5
true
0.1 + 0.2 === 0.3
false
任何人都对这里发生的事情有解释吗?
测试版本在Node.js v6.9.1
内核上为4.4.0-57-generic
。
欢呼任何能够向我解释的人!
答案 0 :(得分:0)
浮点值以2的幂表示。 .1和.2不能表示为有限数量的2的幂的总和,因此添加它们会有一些不准确之处。同样适用于.3,但幸运的是,在第一种情况下,不准确性会得到平衡。这里有更详细的描述。
http://0.30000000000000004.com/