On Sun, 22 Mar 2009 23:40:38 -0700, valpa wrote: > I only need the 3 digits after '.' > > Is there any way other than converting from/to string?
You should Read the Fine Manual: http://docs.python.org/library/decimal.html [quote] The quantize() method rounds a number to a fixed exponent. This method is useful for monetary applications that often round results to a fixed number of places: >>> Decimal('7.325').quantize(Decimal('.01'), rounding=ROUND_DOWN) Decimal('7.32') >>> Decimal('7.325').quantize(Decimal('1.'), rounding=ROUND_UP) Decimal('8') [end quote] In my opinion, that's hideously ugly, but you can create a helper function very easily: def round(dec, places, rounding=decimal.ROUND_HALF_UP): return dec.quantize(decimal.Decimal(str(10**-places)), rounding) -- Steven -- http://mail.python.org/mailman/listinfo/python-list