-
@param num2
-
@param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT
-
@return BigDecimal
*/
public static BigDecimal add(BigDecimal num1, BigDecimal num2, int point) {
return setScale(num1.add(num2), point);
}
/**
-
BigDecimal 乘法 num1 x num2
-
未做非空校验
-
@param num1
-
@param num2
-
@param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT
-
@return BigDecimal
*/
public static BigDecimal multiply(BigDecimal num1, BigDecimal num2, int point) {
return setScale(num1.multiply(num2), point);
}
/**
-
BigDecimal 减法 num1 - num2
-
未做非空校验
-
@param num1
-
@param num2
-
@param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT
-
@return BigDecimal
*/
public static BigDecimal subtract(BigDecimal num1, BigDecimal num2, int point) {
return setScale(num1.subtract(num2), point);
}
/**
-
BigDecimal 除法 num1/num2
-
未做非空校验
-
@param num1
-
@param num2
-
@param point 请使用BigDecimalUtils.PRICE_DECIMAL_POINT | BigDecimalUtils.WEIGHT_DECIMAL_POINT
-
@return BigDecimal
*/
public static BigDecimal divide(BigDecimal num1, BigDecimal num2, int point) {
return num1.divide(num2, point, RoundingMode.HALF_UP);
}
/**
-
设置小数点类型为 四舍五入
-
@param num
-
@param point
-
@return BigDecimal
*/
public static BigDecimal setScale(BigDecimal num, int point) {
return num.setScale(point, RoundingMode.HALF_UP);
}
/**
-
比较 num1 是否大于 num2
-
@param num1
-
@param num2
-
@return boolean
*/
public static boolean isGreaterThan(BigDecimal num1, BigDecimal num2) {
return num1.compareTo(num2) == 1;
}
/**
-
比较 num1 是否大于等于 num2
-
@param num1
-
@param num2
-
@return boolean
*/
public static boolean isGreaterOrEqual(BigDecimal num1, BigDecimal num2) {
return isGreaterThan(num1, num2) || equals(num1, num2);
}
/**
-
比较 num1 是否小于 num2
-
@param num1
-
@param num2
-
@return boolean
*/
public static boolean isLessThan(BigDecimal num1, BigDecimal num2) {
return num1.compareTo(num2) == - 1;
}
/**
-
比较 num1 是否小于等于 num2
-
@param num1
-
@param num2
-
@return boolean
*/
public static boolean isLessOrEqual(BigDecimal num1, BigDecimal num2) {
return isLessThan(num1, num2) || equals(num1, num2);
}
/**
-
比较 num1 是否等于 num2
-
@param num1
-
@param num2
-
@return
*/
public static boolean equals(BigDecimal num1, BigDecimal num2) {
return num1.compareTo(num2) == 0;
}
/**
-
计算 num1 / num2 的百分比
-
@param num1
-
@param num2
-
@return String
*/
public static String getPercentage(BigDecimal num1, BigDecimal num2) {
BigDecimal result = num1.divide(num2, 4, RoundingMode.HALF_UP);
NumberFormat percent = NumberFormat.getPercentInstance();
percent.setMaximumFractionDigits(2);
return percent.format(result.doubleValue());
}
/**
-
计算 num1 / num2 的百分比
-
@param num1
-
@param num2
-
@param point 保留几位小数
-
@return String
*/
public static BigDecimal bigDecimalPercent(Integer num1, Integer num2, int point) {
if (num1 == null || num2 == null) {
return BigDecimal.ZERO;
}
if (num2.equals(Integer.valueOf(0))) {
return BigDecimal.ZERO;
}
BigDecimal bigDecimalNum1 = new BigDecimal(num1);
BigDecimal bigDecimalNum2 = new BigDecimal(num2);
return bigDecimalPercent(bigDecimalNum1, bigDecimalNum2, point);
}
/**
-
计算 num1 / num2 的百分比
-
@param num1
-
@param num2
-
@param point 保留几位小数
-
@return String
*/
public static BigDecimal bigDecimalPercent(BigDecimal num1, BigDecimal num2, int point) {
if (num1 == null || num2 == null) {
return BigDecimal.ZERO;
}
if (equals(BigDecimal.ZERO, num2)) {
return BigDecimal.ZERO;
}
BigDecimal percent = num1.divide(num2, point + 2, RoundingMode.HALF_UP);
BigDecimal percent100 = percent.multiply(new BigDecimal(100)).setScale(point);
return percent100;
}
/**
-
判断num是否为空 或者 零
-
@param num
-
@return String
*/
public static Boolean isEmpty(BigDecimal num) {
return null == num || equals(BigDecimal.ZERO, num);
}
/**
-
判断num是否 不等于null 并且不等于零
-
@param num
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
判断num是否为空 或者 零
-
@param num
-
@return String
*/
public static Boolean isEmpty(BigDecimal num) {
return null == num || equals(BigDecimal.ZERO, num);
}
/**
-
判断num是否 不等于null 并且不等于零
-
@param num
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
[外链图片转存中…(img-WPMP9atF-1714341997171)]
[外链图片转存中…(img-RUfUdChM-1714341997172)]