不要用equals方法来比较BigDecimal对象,因为它的equals方法会比较scale,如果scale不一样,它会返回false;
例如:
BigDecimal a = new BigDecimal("1.00");
BigDecimal b = new BigDecimal("1.0");
print(a.equals(b)); // false
如果直接使用a.divide(b)除法,有时会报除不尽异常,如下:
BigDecimal a = new BigDecimal(10);
BigDecimal b = new BigDecimal(3);
a = a.divide(b); // 错误会报如下异常:java.lang.ArithmeticException: Non-terminating
decimal expansion; no exact representable decimal result.