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后端技术全栈