On Aug 9, 4:54 pm, John Machin <[EMAIL PROTECTED]> wrote: > On Aug 10, 1:19 am, Mensanator <[EMAIL PROTECTED]> wrote: > > > On Aug 9, 6:31 am, Will Rocisky <[EMAIL PROTECTED]> wrote: > > > > I want my 76.1 to be rounded to decimal 80 and 74.9 to decimal 70. > > > How can I achieve that? > > >>> print '%.0e' % 74.9 > > 7e+01 > > >>> print '%.0e' % 76.1 > > > 8e+01 > > But:>>> print '%.0e' % 176.1 > > 2e+002
Which would be correct if your goal was to restrain to 1 significant digit. > > Giving the Subject ("How to round a floating point to nearest 10?"), > there's a strong presumption that the OP would want the answer to be > 180, not 200. Well, I can't read the OP's mind and the cases I HAVE encountered are concerned about the number of significant digits. When laboratories report 3 digits, all my manipulations (ppm conversion, dividing non-detect reporting limits by 2, comparison to TACO, etc. are required to also have exactly 3 digits of significance). >>> print '%.2e' % 0.00000123456 1.23e-006 >>> print '%.2e' % 123456 1.23e+005 >>> print '%.2e' % 0.123000456 1.23e-001 It all depends on what the OP actually wants. He's free to ignore my example. -- http://mail.python.org/mailman/listinfo/python-list