Another simple example is: 3 * (1/3) = 1;
You can easily say that the result is 1, but in your code (1/3) represents sth like 0.3333 and 0.3333 * 3 equals 0.9999.
If you want to have 2 decimal places, a simple workaround would be to do it like this:
Round(F * 100) / 100
That should work, currently I can’t test it.