我尝试了以下代码。但是使用 BigDecimal 进行减法时会得到不同的结果。
double d1 = 0.1;
double d2 = 0.1;
System.out.println("double result: "+ (d2-d1));
float f1 = 0.1F;
float f2 = 0.1F;
System.out.println("float result: "+ (f2-f1));
BigDecimal b1 = new BigDecimal(0.01);
BigDecimal b2 = new BigDecimal(0.01);
b1 = b1.subtract(b2);
System.out.println("BigDecimal result: "+ b1);
结果:
double result: 0.0
float result: 0.0
BigDecimal result: 0E-59
我仍在努力。谁能澄清一下。