double a = 0.05;
double b = 0.01;
System.out.println(a+b); // 输出0.060000000000000005
double a = 1.0;
double b = 0.42;
System.out.println(a-b); //0.5800000000000001
double a = 100;
double b = 4.015;
System.out.println(a*b); // 401.49999999999994
double a = 123.3;
double b = 100;
System.out.println(a/b); //输出 1.2329999999999999
double a = 123.4;
double b = 100;
System.out.println(a/b); // 输出 1.234 对于需要精确结果的java程序,可以采用java.math.BigDecimal来实现
例如加法运算:
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
public static double minus(double v1,double v2){
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
return b1.subtract(b2).doubleValue();
}
double a = 1;
double b = 0.42;
System.out.println(minus(a,b)); //0.5800000000000001

1523



被折叠的 条评论
为什么被折叠?



