double a = 0.01;
double b = 1.00;
double c = a+b;
double d = a*b;
double e = b-a;
System.out.println(c);
System.out.println(d);
System.out.println(e);
出现的问题是:
1.01
0.01
0.999999999999
显然最后一个出现了问题,不知道大家遇到过没有。
这里我只是做了简单的例子,例子本身并不存在这样的结果,显示的结果为项目中类似算法出现的结果。
这里我提供了一种格式化的方式解决该问题:
DecimalFormat df1 = new DecimalFormat("0.00");
String str = String.valueOf(df1.format(Double.valueOf(b-a);