当我做这个乘法时
0.94*8700
输出是
8177.999999999999
但它本来应该是
8178
我正在使用 java ,但我不认为这个错误与特定的编程语言有关
现在我的问题是......为什么会发生这种事?
还有哪些其他数字(仅作为示例)会导致相同的错误?
您的情况的具体原因是实数 0.94 无法用双精度浮点数精确表示。当您输入时0.94
,实际存储的数为0.939999999999999946709294817992486059665679931640625
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)