How to round decimal numbers in Python
How to round Decimal numbers with Symmetric Arithmetic Rounding (as described in article “Rounding” on wikipedia.org?.
Rounding can be done with decimal.Decimal object’s quantize method. Use decimal.ROUND_HALF_UP flag to get a Symmetric Arithmetic Rounding.
For example:
>>> from decimal import Decimal, ROUND_HALF_UP
>>> Decimal("234.4535").quantize(Decimal("0.001"), ROUND_HALF_UP)
Decimal("234.454")
>>> Decimal("234.4534").quantize(Decimal("0.001"), ROUND_HALF_UP)
Decimal("234.453")
>>> Decimal("-234.4535").quantize(Decimal("0.001"), ROUND_HALF_UP)
Decimal("-234.454")
>>> Decimal("-234.4535").quantize(Decimal("0.001"), ROUND_HALF_UP)
Decimal("-234.454")
So, the “traditional” round function will look like this:
from decimal import Decimal, ROUND_HALF_UP
def round(d, digits=0):
"""
Symmetric Arithmetic Rounding for decimal numbers
d - Decimal number to round
digits - number of digits after the point to leave
For example:
>>> round(Decimal("234.4536"), 3)
Decimal("234.454")
>>> round(Decimal("234.4535"), 3)
Decimal("234.454")
>>> round(Decimal("234.4534"), 3)
Decimal("234.453")
>>> round(Decimal("-234.4535"), 3)
Decimal("-234.454")
>>> round(Decimal("234.4535"), -1)
Decimal("2.3E+2")
"""
return d.quantize(Decimal("1") / (Decimal('10') ** digits), ROUND_HALF_UP)
January 8th, 2008 at 6:34 pm
i dont get it!!! HELP
April 14th, 2009 at 8:23 am
Thanks, it works!
September 11th, 2010 at 4:40 pm
< blockquote >< a href=”http://cheaptabletsonline.com/”>CheapTabletsOnline.com. Canadian Health&Care.Special Internet Prices.Best quality drugs.No prescription online pharmacy. High quality drugs. Buy drugs online< /a >…
Buy:Human Growth Hormone.Prednisolone.Accutane.Prevacid.Lumigan.100% Pure Okinawan Coral Calcium.Actos.Retin-A.Valtrex.Zyban.Mega Hoodia.Nexium.Petcam (Metacam) Oral Suspension.Arimidex.Synthroid.Zovirax….
September 15th, 2010 at 5:36 am
oxygen http://nzq.4xs.ii88.vg : sensor…
oxygen…
January 11th, 2011 at 7:54 am
WWW.INSPECTAGADGETS.COM…
YOUTUBE VIDEO REVIEWS ON THE HOTTEST ELECTRONICS OUT…
January 26th, 2011 at 11:04 am
MOST INFORMATIVE SITE FOR ELECTRONICS….
YOUTUBE VIDEO REVIEWS ON THE HOTTEST ELECTRONICS OUT…
March 22nd, 2011 at 8:58 pm
iPAD 2 REVIEW!!!…
NEW iPAD 2 REVIEWFIND OUT WHAT PEOPLE ARE SAYING!!…
March 24th, 2011 at 1:54 am
iPAD 2 REVIEW!!!…
iPAD 2 LATEST REVIEWSFIND OUT WHAT PEOPLE ARE SAYING!!…
July 18th, 2011 at 9:04 pm
< b >< a href=”http://www.trustedpillspot.com/?ml=buy-generic-LEVITRA buy@generic.LEVITRA” >…< /a >< /b >< /blockquote >…
Need cheap generic LEVITRA?…