您的位置:首页 > 编程语言 > Java开发

java double类型-加减乘除高精度运算

2016-01-06 08:51 423 查看
double类型-加减乘除高精度运算

// 进行加法运算

 private  double add(double v1,double v2){  

        BigDecimal b1 = new BigDecimal(Double.toString(v1));  

        BigDecimal b2 = new BigDecimal(Double.toString(v2));  

        return b1.add(b2).doubleValue();  
    }  

// 进行减法运算

    private double subtract(double v1,double v2){

        BigDecimal b1 = new BigDecimal(Double.toString(v1));  

        BigDecimal b2 = new BigDecimal(Double.toString(v2));  

        return b1.subtract(b2).doubleValue();  
    }

// 进行加法运算

    public double mul(double d1, double d2){        // 进行乘法运算

         BigDecimal b1 = new BigDecimal(d1);

         BigDecimal b2 = new BigDecimal(d2);

        return b1.multiply(b2).doubleValue();
     }

// 进行除法运算

    public  double div(double d1,double d2,int len) {// 进行除法运算

         BigDecimal b1 = new BigDecimal(d1);

         BigDecimal b2 = new BigDecimal(d2);

        return b1.divide(b2,len,BigDecimal.ROUND_HALF_UP).doubleValue();
     }

// 进行四舍五入操作

    public  double round(double d,int len) {     // 进行四舍五入操作

         BigDecimal b1 = new BigDecimal(d);

         BigDecimal b2 = new BigDecimal(1);

        // 任何一个数字除以1都是原数字

        // ROUND_HALF_UP是BigDecimal的一个常量,表示进行四舍五入的操作

        return b1.divide(b2, len,BigDecimal.ROUND_HALF_UP).doubleValue();

     }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息