En Wed, 30 Jul 2008 00:56:55 -0300, <[EMAIL PROTECTED]> escribi�:
One other question I had was about rounding floats. I was first looking
at this syntax to round out to 6 decimal places if needed:
f = '508.5'
x = '%.6f' % (float(f)/72)
x
'7.062500'
However, in this instance I don't want the last 2 zeroes. So would it
be better to do something like this:
f = '508.5'
x = round(float(f)/72, 6)
x
7.0625
I've been reading a bit about some rounding bugs, but am really not that
knowledgeable about the subject. Does anyone have a preference of how
they like to round as well as the result they see?
If all you need is to *display* the value - use formatting expressions
like %f, the locale variants, the Template class, or whatever.
If you want to *compute* something using the rounded value, use the
round/ceil/floor functions, or perhaps consider using the Decimal class
depending on your needs.
From the above, looks like you want to display the value using up to six
decimal places, avoiding right zeroes. So you just want to strip '0'
characters from the right side:
py> f = '508.5'
py> x = '%.6f' % (float(f)/72)
py> x
'7.062500'
py> x.rstrip('0')
'7.0625'
--
Gabriel Genellina
--
http://mail.python.org/mailman/listinfo/python-list