bug feature, and it’s the wrong result of simple floating point calculations. Try this:
Surprise! The result is 0.30000000000000004.
This can be quite annoying when programming timers, and doing math of course.
Why is this? It’s because floating points work that way, it’s by design. That’s not really a flaw, it’s just to make the process real fast. Just like your pocket calculator has only 8 digits, which isn’t wrong per se, but it’s never fully mathematically correct. Sun Microsystems has some real hardcore background on the floating point issue.
But for us simple programmers, all we want is a fix, right?