我已经阅读了关于浮点的大部分帖子,我理解使用IEEE 754的基本问题(并且仅仅通过以二进制形式存储数字的性质)某些分数无法表示.我试图找出以下内容:如果Python和JavaScript都使用IEEE 754标准,为什么在Python中执行以下操作?
.1 + .1
结果在0.20000000000000001(这是预期的)
在Javascript(至少在Chrome和Firefox中)的答案是.2
然而表演
.1 + .2
在两种语言中结果为0.30000000000000004
另外,执行var a = 0.3; 在JavaScript中打印结果为0.3
在Python中执行a = 0.3的结果为0.29999999999999999
我想了解这种行为差异的原因.
此外,OS上的许多帖子都链接到Java的BigDecimal的JavaScript端口,但链接已经死了.有人有副本吗?