Floating points - how is this possible?

Blitz3D Forums/Blitz3D Programming/Floating points - how is this possible?

Ok, storing the values as actual floats with WriteFloat seems to solve it, but I still don't get it. It used to read it with ReadLine, and the value in the file was 15.6569, and this was stored in a floating point value and the entity was positioned there (Y). If I show it's Y coordinate, it gives me 15.6569 - yet in calculations it's wrong.
But when storing it with WriteFloat and reading it with ReadFloat, it can be used in calculations without a problem.
Weird.