On Sat, 11 Aug 2007 16:40:02 +0000, Adam W. wrote: > After a fair amount of troubleshooting of why my lists were coming > back a handful of digits short, and the last digit rounded off, I > determined the str() function was to blame: > >>>> foonum > 0.0071299720384678782 >>>> str(foonum) > '0.00712997203847' >>>> > > Why in the world does str() have any business rounding my numbers, and > how do I get around this?
If `str()` would not round you would get very long numbers because of the inaccuracies of floating point values. I know Python is lying when 0.1 prints as 0.1, but do you really want to see 0.10000000000000000555111512312578270211815834045410156250 instead? Use string formatting to tell the number of digits you want to see: In [16]: '%.56f' % 0.1 Out[16]: '0.10000000000000000555111512312578270211815834045410156250' Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list