yyds2024 2024-12-06 15:37:39
加减乘除工具类
public class BigDecimalUtils {
/**
* 加法运算
* @param m1
* @param m2
*/
public static double add(String m1, String m2) {
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.add(p2).doubleValue();
}
/**
* 加法运算(保留小数)
* @param m1
* @param m2
* @param scale
*/
public static double add(String m1, String m2, int scale) {
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.add(p2).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 减法运算
* @param m1
* @param m2
*/
public static double subtract(String m1, String m2) {
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.subtract(p2).doubleValue();
}
/**
* 减法运算(保留小数)
* @param m1
* @param m2
* @param scale
*/
public static double subtract(String m1, String m2, int scale) {
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.subtract(p2).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 乘法运算
* @param m1
* @param m2
*/
public static double multiply(String m1, String m2) {
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.multiply(p2).doubleValue();
}
/**
* 乘法运算(保留小数)
* @param m1
* @param m2
* @param scale
*/
public static double multiply(String m1, String m2, int scale) {
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.multiply(p2).setScale(scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 除法运算
* @param m1
* @param m2
* @param scale
*/
public static double divide(String m1, String m2, int scale) {
if (scale < 0) {
throw new CommonException("分母不能为0");
}
BigDecimal p1 = new BigDecimal(m1);
BigDecimal p2 = new BigDecimal(m2);
return p1.divide(p2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}