//乘法 【可以传入多个】
public static BigDecimal multiply(BigDecimal... dd) {
BigDecimal result = BigDecimal.ONE;
for (BigDecimal n : dd) {
result = result.multiply(getBigDecimal(n), mc);
}
return result;
}
//加法【可以传入多个】
public static BigDecimal add(BigDecimal... dd) {
BigDecimal result = BigDecimal.ZERO;
for (BigDecimal d : dd) {
result = result.add(getBigDecimal(d));
}
return result;
}
//BigDecimal 判空
public static BigDecimal getBigDecimal(BigDecimal big) {
if (null == big) return BigDecimal.ZERO;
return big;
}
//减法【可以传入多个】
public static BigDecimal sub(BigDecimal big, BigDecimal... dd) {
BigDecimal result = getBigDecimal(big);
for (BigDecimal d : dd) {
result = result.subtract(getBigDecimal(d));
}
return result;
}
//除法
一般除法比较多变,这里不贴公式了,写一下一般常用的用法【重点在于divide方法和后面的scale参数】
/**
* 计算公式抽取
* 例如:6÷2*3
*
* @param param1
* @param param2
* @param param3
* @return
*/
private BigDecimal calculateOne(BigDecimal param1, BigDecimal param2, BigDecimal param3) {
return param1.divide(param2, 4, BigDecimal.ROUND_HALF_DOWN).multiply(param3);
}
BigDecimal加减乘除工具类
于 2023-09-12 13:52:47 首次发布