The compiler stores the numbers in your source code as numbers not as formated text. When you do something with it that requires a string it gets "stringified". Here is an example:
$string = "39.750000";
$number = 39.750000;
print "$string $number\n";
__OUTPUT__
39.750000 39.75
As you can see when the runtime stringifies $number it is not necessarily going to be in the same format as in the source code. So do your hash keys with either formatted text using sprintf or numbers by adding zero. I would probably use formatted strings, sometimes floating point numbers can be inconsistent due to their internal representation in hardware.
-- flounder |