Adam W. wrote: > Why in the world does str() have any business rounding my numbers,
You are at the floating point numbers precision limit. Using str, numbers are rounded to your machine's float precision in decimal notation. Since floats are internally represented in binary notation of constant precision, the decimal precision expressed in number of places is not constant. Thus, safe rounding must be applied to get consistent results. > and how do I get around this? If you don't want this (and thus introduce random deviations if you assume greater precision than the number of places str gives you), use repr. You've been warned. >>> foonum = .0071299720384678782 >>> foonum 0.0071299720384678782 >>> str(foonum) '0.00712997203847' >>> repr(foonum) '0.0071299720384678782' Regards, Björn -- BOFH excuse #5: static from plastic slide rules -- http://mail.python.org/mailman/listinfo/python-list