【工具类】BigDecimal常用功能
2022-08-17 本文已影响0人
小胖学编程
一些常见的功能的工具类汇总:
- 比较大小;
- 加减乘除;
- 转化成百分比;
- 保留两位小数
import java.math.BigDecimal;
import java.math.RoundingMode;
public abstract class BigDecimalUtils {
/**
* a < b
*/
public static boolean lessThan(BigDecimal a, BigDecimal b) {
return a.compareTo(b) == -1;
}
/**
* a == b
*/
public static boolean equalsThan(BigDecimal a, BigDecimal b) {
return a.compareTo(b) == 0;
}
/**
* a > b
*/
public static boolean greaterThan(BigDecimal a, BigDecimal b) {
return a.compareTo(b) == 1;
}
/**
* a >= b
*/
public static boolean greaterEqualsThan(BigDecimal a, BigDecimal b) {
return a.compareTo(b) > -1;
}
/**
* a <= b
*/
public static boolean lessEqualsThan(BigDecimal a, BigDecimal b) {
return a.compareTo(b) < 1;
}
/**
* a + b
*/
public static BigDecimal add(BigDecimal a, BigDecimal b) {
return a.add(b);
}
/**
* a - b
*/
public static BigDecimal subtract(BigDecimal a, BigDecimal b) {
return a.subtract(b);
}
/**
* a * b
*/
public static BigDecimal multiply(BigDecimal a, BigDecimal b) {
return a.multiply(b);
}
/**
* a / b
*
* @return 保留两位小数
*/
public static BigDecimal divide(BigDecimal a, BigDecimal b) {
return a.divide(b, 2, RoundingMode.HALF_UP);
}
/**
* a/b * 100
*
* @return 保留两位小数的百分比
*/
public static BigDecimal divide2Percentage(BigDecimal a, BigDecimal b) {
return a.divide(b, 4, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100))
.divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
}
/**
* a * 100%
*
* @return 保留两位小数
*/
public static BigDecimal toPercentage(BigDecimal a) {
return a.multiply(BigDecimal.valueOf(100)).divide(BigDecimal.valueOf(1), 2, RoundingMode.HALF_UP);
}
}