doule相减精度丢失的问题
两个double相减可能会有得到9.999999999998899E-4这样的结果
所以可以用BigDecimal包装一下
/**
* double 相减
* @param d1
* @param d2
* @return
*/
public double sub(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.subtract(bd2).doubleValue();
}
附double相加代码
/**
* double 相加
* @param d1
* @param d2
* @return
*/
public double addDouble(double d1,double d2){
BigDecimal bd1 = BigDecimal.valueOf(d1);
BigDecimal bd2 = BigDecimal.valueOf(d2);
return bd1.add(bd2).doubleValue();
}