public
static double round(double value, int
scale,
int roundingMode)
{
BigDecimal bd = new
BigDecimal(value);
bd = bd.setScale(scale,
roundingMode);
double d =
bd.doubleValue();
bd =
null;
return
d;
}
public
double sum(double d1,double d2){
BigDecimal bd1 = new
BigDecimal(Double.toString(d1));
BigDecimal bd2 = new
BigDecimal(Double.toString(d2));
return
bd1.add(bd2).doubleValue();
}
public
double sub(double d1,double d2){
BigDecimal bd1 = new
BigDecimal(Double.toString(d1));
BigDecimal bd2 = new
BigDecimal(Double.toString(d2));
return
bd1.subtract(bd2).doubleValue();
}
public
double mul(double d1,double d2){
BigDecimal bd1 = new
BigDecimal(Double.toString(d1));
BigDecimal bd2 = new
BigDecimal(Double.toString(d2));
return
bd1.multiply(bd2).doubleValue();
}
public
double div(double d1,double d2,int
scale){
//
当然在此之前,你要判断分母是否为0,
//
为0你可以根据实际需求做相应的处理
BigDecimal bd1 = new
BigDecimal(Double.toString(d1));
BigDecimal bd2 = new
BigDecimal(Double.toString(d2));
return bd1.divide
(bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}