阅读背景:

BigDecimal封装工具类解决商业运算中的浮点数丢失及BigDecimal使用的注意事项_Gandagh的博客

来源:互联网 

public class BigDecimalUtil { !-- --

// 将构造函数初始化, 使得外界无法声明此工具类
private BigDecimalUtil() {

}

// 加法
public static BigDecimal add (Double x, Double y) {
    BigDecimal n = new BigDecimal(x.toString());
    BigDecimal m = new BigDecimal(y.toString());
    return n.add(m);
}

// 减法
public static BigDecimal sub (Double x, Double y) {
    BigDecimal n = new BigDecimal(x.toString());
    BigDecimal m = new BigDecimal(y.toString());
    return n.subtract(m);
}

// 乘法
public static BigDecimal mul (Double x, Double y) {
    BigDecimal n = new BigDecimal(x.toString());
    BigDecimal m = new BigDecimal(y.toString());
    return n.multiply(m);
}

// 除法 (注意四舍五入)
public static BigDecimal div (Double x, Double y) {
    BigDecimal n = new BigDecimal(x.toString());
    BigDecimal m = new BigDecimal(y.toString());
    return n.divide(m, 2, BigDecimal.ROUND_HALF_UP);  // 精度为2 ROUND_HALF_UP代表的是一种四舍五入的运算策略(有其他可供选择的策略)
/



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: