[Tutor] Question on rounding

Brad Chandler mbc2@netdoor.com
Tue, 9 Jan 2001 17:06:12 -0600

I know this must have been discussed before, but I'm having a problem with
rounding.  My hand calculator gives me the following:  25350 * .0055 =

But Python gives me 139.42499999999998. Now what I want is to round that up
to 139.43, so I've been using round(x,2). But my numbers have been slightly
off in python and I've just now discovered why.  I think I can just use
round(x,3) and then round(x,2) to get the desired result, but that just
seems messy and I'm wondering if there is a better, more correct way of
doing it.  Below is an example of my interpreter session.

>>> x=25350.00*.0055
>>> x
>>> round(x,2)
>>> y = round(x,3)
>>> y
>>> round(y,2)