java - 如何用正确的输出计算java中的 double 值?

标签 java android double bigdecimal mathematical-notation

我正在使用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/

相关文章:

Java Spring MVC 无状态到有状态的切换

用于替代字符串排序的 Java 比较器

java - 文件构造函数说明

java - Android 将毫秒转换为小时

c# - 随机矩阵的最佳类型 - 需要来源

java - 如何在非 GUI 服务器环境中运行 libGDX 应用程序?

android - 离线传输路由算法

java - 安卓 |更改溢出图标(3 点菜单)颜色?

flutter ,计算的 Double 不适用于循环进度条

c++ - atof() 返回 float 而不是 double