[Python-Dev] Return type of round, floor, and ceil in 2.6 (original) (raw)

Mark Dickinson dickinsm at gmail.com
Sun Jan 6 00:34:05 CET 2008


On Jan 5, 2008 5:54 PM, <glyph at divmod.com> wrote:

At first I didn't realize why I'd missed this feature. While the rounding modes are well documented, though, after 20 minutes of reading documentation I still haven't found a method or function that simply rounds a decimal to a given significant digit. Is there one, should there be one, or is the user simply meant to use Context.quantize with appropriate arguments?

quantize is about as close as it gets. Note that it's a Decimal method as well as a Context method, so you can invoke it directly on a given decimal:

Decimal("2.34567").quantize(Decimal("0.01")) Decimal("2.35")

I've also occasionally felt a need for a simple rounding function that isn't affected by context. Would others be interested in such a function being added to Decimal? I guess there are two possibly useful operations: (1) round to a particular decimal place ( e.g. nearest ten, nearest hundredth, ..) and (2) to round to a particular number of significant digits; in both cases, the user should be able to specify the desired rounding mode. And for each operation, it might also be useful to specify whether the result should be padded with zeros to the desired length or not. (i.e. when rounding 3.399 to 3 significant places, should it produce 3.4 or 3.40?)

Any thoughts?

Mark -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-dev/attachments/20080105/773cbef5/attachment.htm



More information about the Python-Dev mailing list