示例:
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);
}
}
上面的程序输出是4656.我想将它舍入到最接近的百分之4700。
同样4235 - > 4200
答案 0 :(得分:9)
要将给定BigDecimal
舍入到最接近的百位,请使用monthlyAmt = monthlyAmt.setScale(-2, RoundingMode.HALF_EVEN)
(或替换相应的舍入模式)。
答案 1 :(得分:-1)
您可以尝试使用此舍入公式进行整数计算:
res = ((number + factor - 1) / factor) * factor;