double计算

/**
 * double计算使用
 * @author clover
 *
 */
public class DoubleMaths {
/**
* 返回DOUBLE相加
* @param d1
* @param d2
* @return
*/
public static double sum(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.add(bd2).doubleValue();
}

/**
* 返回DOUBLE相减
* @param d1
* @param d2
* @return
*/
public static double sub(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.subtract(bd2).doubleValue();
}

/**
* 返回DOUBLE相减,BigDecimal类型
* @param d1
* @param d2
* @return
*/
public static BigDecimal subBig(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.subtract(bd2);
}
/**
* DOUBLE带精度的相除,避免无限循环,
* @param d1
* @param d2
* @param scale
* @return
*/
public static BigDecimal divBig(double d1,double d2,int scale){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.divide(bd2, scale, BigDecimal.ROUND_HALF_UP);
}
/**
* DOUBLE带精度的相除,避免无限循环
* @param d1
* @param d2
* @param scale
* @return
*/
public static double div(double d1,double d2,int scale){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.divide(bd2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
 

/**
* 返回DOUBLE相除,BigDecimal类型
* @param d1
* @param d2
* @return
*/
public static BigDecimal divBig(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.divide(bd2);
}

/**
* 返回DOUBLE相除
* @param d1
* @param d2
* @return
*/
public static double div(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.divide(bd2).doubleValue();
}

/**
* 返回DOUBLE相乘
* @param d1
* @param d2
* @return
*/
public static BigDecimal muBig(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.multiply(bd2);
}
/**
* 返回DOUBLE相乘
* @param d1
* @param d2
* @return
*/
public static double mu(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.multiply(bd2).doubleValue();
}

}



欢迎关注公众号:Java后端技术全栈