I have picked two random double numbers:
double a = 7918.52;
double b = 5000.00;
I would expect to get 2918.52 from a - b.
Well, it gives me a result of 2918.5200000000004, which seems odd.
print(a - b); // -> 2918.5200000000004
But if I change double a to 7918.54, I will get the expected result of 2918.54.
Can someone explain to me why some double values result in unexpected rounding issues and others do not?