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); //直接进位
}
}
上一篇:Java工具类之——BigDecimal运算封装(包含金额的计算方式)


下一篇:java BigDecimal工具类