整数部分超过15位后失效。
public static String multiply(double v1, double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
BigDecimal b3 = b1.add(b2);//此处举例使用乘法(注意:必须使用一个新的BigDecimal来获得运算后的值)
Double b4 = b3.doubleValue();
String str = formatFloatNumber(b4);
return str;//可直接使用这个值,set、输出都可以(部分步骤可简化)
}
public static String formatFloatNumber(Double value) {
if(value != null){
if(value.doubleValue() != 0.00){
java.text.DecimalFormat df = new java.text.DecimalFormat("########.00");//此处小数点后有几个0,计算后保留几位小数
return df.format(value.doubleValue());
}else{
return "0.00";
}
}
return "";
}