浮点数存储的是近似值而不是确切的值;所以double的值存在不确定情况
在mysql中:使用DECIMAL,
在java中,使用BigDecimal 类型,
public class test {
public static void main(String args[])
{
double d=0.2+0.4;
double c=0.3+0.4;
System.out.println(d);
System.out.println(add(d,c));
}
//这里要将double转换为string,然后再使用BigDecimal 。
public static double add(double a1, double b1) {
BigDecimal a2 = new BigDecimal(Double.toString(a1));
BigDecimal b2 = new BigDecimal(Double.toString(b1));
return a2.add(b2).doubleValue();
}
}
运行结果:
0.6000000000000001
1.3