double的精确运算工具类

利用BigDecimal类对double进行运算,防止浮点数计算可能出现的错误。

import java.math.BigDecimal;

public class DoubleUtils {

     public static double sub(double num1, double num2) {
            BigDecimal b1 = new BigDecimal(Double.toString(num1));
            BigDecimal b2 = new BigDecimal(Double.toString(num2));
            return b1.subtract(b2).doubleValue();
     }
     
     public static double add(double num1, double num2) {
            BigDecimal b1 = new BigDecimal(Double.toString(num1));
            BigDecimal b2 = new BigDecimal(Double.toString(num2));
            return b1.add(b2).doubleValue();
     }
     
     public static double divide(double num1, double num2){
         BigDecimal b1 = new BigDecimal(Double.toString(num1));
         BigDecimal b2 = new BigDecimal(Double.toString(num2));
         return b1.divide(b2).doubleValue();
     }
     
     public static double multiply(double num1, double num2){
         BigDecimal b1 = new BigDecimal(Double.toString(num1));
         BigDecimal b2 = new BigDecimal(Double.toString(num2));
         return b1.multiply(b2).doubleValue();
     }
}

你可能感兴趣的:(double的精确运算工具类)