Pythons float makes me want to smoke crack.
Ran into another annoying bug with pythons 'float' numbers today, and it reminded me of an old post about how Decimals should be default in python3 . Witness pythons supreme silliness printing out time.time()... $ python3 -c "import time;print(time.time())" 1242730404.02 $ python2.5 -c "import time;print(time.time())" 1242730412.33 $ python2.6 -c "import time;print(time.time())" 1242730416.87 $ python2.6 -c "import time;print(repr(time.time()))" 1242730432.5543971 $ python2.6 -c "import time;import decimal;print(decimal.Decimal(str(time.time())))" 1242730432.55 Notice how it truncates the float to only two decimal places?! So silly, and likely the cause of many subtle bugs in programs throughout the land. If you repr it, there are less places cut off (12 for print vs 17 for repr). The last example shows the real bad part... say you want to use a decimal... python strangely wants your argument to decimal be a str, not a float. ...