方法的使用: BigDecimal.compareTo(BigDecimal.ZERO)
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal(0.01);
System.out.println(b1.compareTo(BigDecimal.ZERO)); // 输出 1
BigDecimal b2 = new BigDecimal(0.00);
System.out.println(b2.compareTo(BigDecimal.ZERO)); // 输出 0
BigDecimal b3 = new BigDecimal(-3);
System.out.println(b3.compareTo(BigDecimal.ZERO)); // 输出 -1
if (b2.compareTo(BigDecimal.ZERO) <= 0) {
System.out.println("价格小于或等于0");
}
}
自定义额度比较
public static void main(String[] args) {
BigDecimal a = new BigDecimal (0.99);
BigDecimal b = new BigDecimal (1.00);
if(a.compareTo(b) == -1){
System.out.println("a小于b");
}
if(a.compareTo(b) == 0){
System.out.println("a等于b");
}
if(a.compareTo(b) == 1){
System.out.println("a大于b");
}
if(a.compareTo(b) > -1){
System.out.println("a大于等于b");
}
if(a.compareTo(b) < 1){
System.out.println("a小于等于b");
}
}
BigDecimal自带常量池有:
BigDecimal.ZERO
BigDecimal.ONE
BigDecimal.TEN
分别对应数字:
0
1
10
温馨提示: 像上述b(金额1元), 刚好额度是常量池中的数, 直接调用(省去对象的创建), 节省系统的开支