前言
我们通过要精度比较精确的时候,要用到java.math.BigDecimal类,下面来说一下compareTo方法。
返回值
compareTo方法返回值有3个,分别是 -1(小于),0(等于),1(大于),从此我们看出只需要判断返回值和0的大小即可。
大于
b1 大于 b2
b1.compareTo(b2) == 1 或者判断 b1.compareTo(b2) > 0
小于
b1 小于 b2
b1.compareTo(b2) == -1 或者判断 b1.compareTo(b2) < 0
等于
b1 等于 b2
b1.compareTo(b2) == 0 或者判断 b1.compareTo(b2) == 0
实例如下:
工具类如下:
/**
* b1 大于 b2
*/
public static boolean gt(BigDecimal b1, BigDecimal b2) {
return b1 != null && b2 != null && b1.compareTo(b2) > 0;
}
/**
* b1 小于 b2
*/
public static boolean lt(BigDecimal b1, BigDecimal b2) {
return b1 != null && b2 != null && b1.compareTo(b2) < 0;
}
/**
* b1 等于 b2
*/
public static boolean eq(BigDecimal b1, BigDecimal b2) {
return b1 != null && b2 != null && b1.compareTo(b2) == 0;
}
/**
* b1 大于等于 b2
*/
public static boolean egt(BigDecimal b1, BigDecimal b2) {
return b1 != null && b2 != null && b1.compareTo(b2) >= 0;
}
/**
* b1 小于等于 b2
*/
public static boolean elt(BigDecimal b1, BigDecimal b2) {
return b1 != null && b2 != null && b1.compareTo(b2) <= 0;
}