BigDecimal 工具类
arg1.compareTo(arg2)
arg1 > arg2 返回 int 1
arg1 = arg2 返回 int 0
arg1 < arg2 返回 int -1
public class BigDecimalUtli { private static final BigDecimal zero = new BigDecimal("0"); /** arg1 + arg2 * @param arg1 * @param arg2 * @return */ public static BigDecimal add(BigDecimal arg1,BigDecimal arg2){ return arg1.add(arg2); } /** arg1 - arg2 * @param arg1 * @param arg2 * @return */ public static BigDecimal subtract(BigDecimal arg1,BigDecimal arg2){ return arg1.subtract(arg2); } /** arg1 * arg2 * @param arg1 * @param arg2 * @return */ public static BigDecimal multiply(BigDecimal arg1,BigDecimal arg2){ return arg1.multiply(arg2); } /** arg1 / arg2 * 默认保留两位小数,四舍五入 * @param arg1 * @param arg2 * @return */ public static BigDecimal divide(BigDecimal arg1,BigDecimal arg2){ if(arg2.compareTo(zero) == 0){ return new BigDecimal("0.00"); } return arg1.divide(arg2,2,BigDecimal.ROUND_HALF_UP); } /** 格式化小数,保留两位小数,舍入根据模式判断 * @param arg1 * @return */ public static BigDecimal setScale(BigDecimal arg1){ return arg1.setScale(2,BigDecimal.ROUND_HALF_UP); //四舍五入 // return arg1.setScale(2,BigDecimal.ROUND_HALF_DOWN); //五舍六入 // return arg1.setScale(2,BigDecimal.ROUND_DOWN); //直接删除多余的小数位 // return arg1.setScale(2,BigDecimal.ROUND_UP); //直接进位 } }