d1 - d2 returns the exact result of binary float arithmetic and it is 2.6399999999999997 and so it is printed. If you want to round it, you can do it during printing
System.out.printf("d1 - d2 : %.2f", d4);
or with Commons-Math
d4 = Precision.round(d4, 2);