Don't ask me why, but when you know that, you understand some weired things that could occur in your SWF, maybe in the past.
That's also a good reason to be careful with some test cases like if ( a == b ){...} that you have to replace with something like if ( Math.abs( a - b ) < limit ){...}, where limit is something near 0...to prevent weired behaviour
As Mickro said it in the comment, it occurs in many other languages too. Better is to work with integers and at the end parse it to floats.