我有BigDecimal值。
BigDecimal price = new BigDecimal("100500100500.9999999").setScale(2, BigDecimal.ROUND_HALF_EVEN);
它会打印100500100501.00
,但我需要100500100500.99
。是否有可能对精度评估做出一些限制?
答案 0 :(得分:4)
您可以在ROUND_DOWN
中使用舍入模式常量setScale
。但是,overloaded setScale
method that takes a RoudingMode
is preferred。
BigDecimal price = new BigDecimal("100500100500.9999999")
.setScale(2, RoundingMode.DOWN);
输出:
100500100500.99