>>> 2.04 * 100
204.0
>>> 2.05 * 100
204.99999999999997
In the above example if you multiple 2.04 by 100 it gives 204.0 and if 2.05 is multiplied by same number it returns 204.99999997. Now if you go on trying for further numbers you will find that 2.06, 2.08, etc. will give the exact number. That means the numbers after multiplying are even will return xxx.0 while the odd numbers will return xxx.999997. Why this is so?