次のコードを試しました。ただし、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
私はまだこれに取り組んでいます。誰でも明確にしてください。