我在代码中遇到了一个奇怪的错误。
它与
new BigDecimal("1.2300").stripTrailingZeros()
返回
1.23
(正确)但
new BigDecimal("0.0000").stripTrailingZeros()
返回
0.0000
(奇怪),因此什么也没有发生为什么?
如何解决?
最佳答案
似乎是错误。但是它已在 Java 8 中修复。 fix的直接URL。
有解决方法:
BigDecimal zero = BigDecimal.ZERO;
if (someBigDecimal.compareTo(zero) == 0) {
someBigDecimal = zero;
} else {
someBigDecimal = someBigDecimal.stripTrailingZeros();
}
请引用此link。
来自Holger的评论也很不错
关于java - BigDecimal stripTrailingZeros无效为零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34414785/