【发布时间】:2015-04-27 19:40:47
【问题描述】:
案例1:Java6 BigDecimal("0.0050000").doubleValue() 返回0.0050,Java 8返回值为0.005
案例 2:在 Java6 BigDecimal("0.0250000").doubleValue() 中返回 0.025,在 Java 8 中返回值为 0.025
情况 1:Java 6 返回时带有额外的尾随零。知道吗?还有如何使 Java 8 返回与 Java 6 相同的输出
【问题讨论】:
-
如何打印/可视化返回的双精度值?
-
doubleValue() 返回
double,而不是字符串。除了您打印/格式化它们的方式之外,案例 1 中的两个双打看起来是相同的。见十进制格式 -
请您提供一个完整的程序示例,该程序为 Java 6 和 8 生成不同的输出。
-
完整代码 BigDecimal decimal = new BigDecimal(0.0050000); System.out.println(decimal.doubleValue()); //Java 6 - 0.0050 和 Java 8 - 0.005
-
似乎这是一个错误。 stackoverflow.com/questions/15812504/…
标签: java