On 6/2/05, Peter Hansen <[EMAIL PROTECTED]> wrote:

>  >>> d = decimal.Decimal('199.999')
>  >>> decimal.getcontext().rounding = decimal.ROUND_FLOOR
>  >>> d.quantize(decimal.Decimal('1.00'))
> Decimal("199.99")
> 
> -Peter
> 
> (I hope this inspires someone who actually knows what he's doing with
> Decimal to post an improved solution.)

This is the right solution, but take in consideration that normally
you'll use one rounding method and you'll round to always the same
places, so, at the beggining of your program you'll do:

>>> import decimal
>>> decimal.getcontext().rounding = decimal.ROUND_FLOOR
>>> d2 = decimal.Decimal("0.01")

and each time you want to round....

>>> d = decimal.Decimal('199.999')
>>> d.quantize(d2)
Decimal("199.99")

So it's not really that ugly....

.    Facundo

Blog: http://www.taniquetil.com.ar/plog/
PyAr: http://www.python.org/ar/
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to