BigDecimal中有两种比较方法
① equals
② compareTo
①和②都可以用来比较数值相等。
如 BigDecimal.valueOf(1).equals(BigDecimal.valueOf(2)) false
BigDecimal.valueOf(1).compareTo(BigDecimal.valueOf(2)) == 0 false
但是二者比较的区别在于精度的比较:
如 BigDecimal.valueOf(1.0).equals(BigDecimal.valueOf(1)) false
BigDecimal.valueOf(1.0).compareTo(BigDecimal.valueOf(1)) == 0 true
可以看出compareTo 只比较数值,不计较精度 。
if(a.compareTo(b) == -1){
//a<b
}
if(a.compareTo(b)==0){
//a=b;
}
if(a.compareTo(b)==1){
//a>b;
}