今天遇到一个问题,下面代码运行的结果是1000,如果把倒数第二行的代码的MathContext去掉如注释所示,运行就正常了,不知道是不是MathContext的问题,不知道是咋回事。研究过源码的给指点下
public static void main(String[] args) {
BigDecimal operand_target = new BigDecimal("-10.12");
BigDecimal temp = new BigDecimal("1008");
BigDecimal cal_value = BigDecimal.ZERO;
// cal_value = temp.add(operand_target);
cal_value = temp.add(operand_target, new MathContext(2, RoundingMode.HALF_UP));
System.out.println(cal_value.toPlainString());
}