如何在Java中为BigDecimal设置特定的精度?

时间:2014-09-26 23:05:41

标签: java bigdecimal

我有BigDecimal值。

BigDecimal price = new BigDecimal("100500100500.9999999").setScale(2, BigDecimal.ROUND_HALF_EVEN);

它会打印100500100501.00,但我需要100500100500.99。是否有可能对精度评估做出一些限制?

1 个答案:

答案 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