我正在使用Java编写数学函数,当我尝试将我的结果与MS Office Excel公式函数进行比较时,两个值的准确性都缺失,这使得我的比较(==)
失败双值。
我的结果:
2.3450414545545569404E16
MS Excel 结果:
2.34504145455455694E16
我对此做了一些研究,发现很少links但这并不能解决我的问题,而且我无法使用大十进制,因为它与我的最终结果不一致。
我无法理解为什么我的函数会显示额外的值(404E16),以及如何对其进行格式化以生成类似(2.34504145455455694E16)的输出
最佳答案
在您的方法中使用strictfp
。这可能会解决准确性问题。
这个link提供有关 strictfp
的更多信息。
关于java - 如何用正确的输出计算java中的 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20796961/