如何将BigDecimal值舍入到最近的hundreths

Coo*_*ing 5 java bigdecimal

例:

public class Round {

    private static final BigDecimal TWELVE = new BigDecimal("12");
    public static void main(String[] args) {

        BigDecimal annualAmt = new BigDecimal("55867.59");
        BigDecimal monthlyAmt = null;

        monthlyAmt = annualAmt.divide(TWELVE, 0, RoundingMode.HALF_UP);
        System.out.println(monthlyAmt);
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的程序输出是4656.我想将它舍入到最接近的百分之4700.

同样4235 - > 4200

Lou*_*man 9

要将给定舍入BigDecimal到最接近的百位,请使用monthlyAmt = monthlyAmt.setScale(-2, RoundingMode.HALF_EVEN)(或替换相应的舍入模式).