通过
构造函数传入String
或在实例化时设置的小数位
,此时创建的对象为0.00
, 通过equals与BigDecimal.ZERO
比较时不相等
public static void main(String[] args) {
// 实例化时设置的小数位
BigDecimal a = new BigDecimal(0).setScale(2, BigDecimal.ROUND_HALF_UP); // 0.00
System.out.println(a.equals(BigDecimal.ZERO)); // false,不相等
System.out.println(a.compareTo(BigDecimal.ZERO)); // 0
// 构造函数传入String
BigDecimal b = new BigDecimal("0.00"); // 0.00
System.out.println(b.equals(BigDecimal.ZERO)); // false,不相等
System.out.println(b.compareTo(BigDecimal.ZERO)); // 0
BigDecimal c = new BigDecimal(0.00d); // a 0
System.out.println(c.equals(BigDecimal.ZERO)); // true
System.out.println(c.compareTo(BigDecimal.ZERO)); // 0
}