我有 BigDecimal 值。
BigDecimal price = new BigDecimal("100500100500.9999999").setScale(2, BigDecimal.ROUND_HALF_EVEN);
它打印 100500100501.00
,尽管我需要 100500100500.99
。是否可以对精度评估做一些限制?
最佳答案
您可以在setScale
中使用舍入模式常量ROUND_DOWN
。然而,overloaded setScale
method that takes a RoudingMode
is preferred .
BigDecimal price = new BigDecimal("100500100500.9999999")
.setScale(2, RoundingMode.DOWN);
输出:
100500100500.99
关于java - 如何在Java中设置BigDecimal的特定精度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069522/