[Python-Dev] Rounding float to int directly (Re: struct module and coercing floats to integers) (original) (raw)
M.-A. Lemburg mal at egenix.com
Tue Aug 1 13:40:06 CEST 2006
- Previous message: [Python-Dev] Rounding float to int directly (Re: struct module and coercing floats to integers)
- Next message: [Python-Dev] Rounding float to int directly (Re: struct module and coercing floats to integers)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Greg Ewing wrote:
M.-A. Lemburg wrote:
I suppose you don't know about the optional argument to round that lets you round up to a certain decimal ?! Yes, I know about, but I rarely if ever use it. Rounding a binary float to a number of decimal places seems a fundamentally ill-considered thing to do anyway. What are the use cases for it, given that one can easily select a number of decimal places when formatting a number for display?
You often have a need for controlled rounding when doing financial calculations or in situations where you want to compare two floats with a given accuracy, e.g. to work around rounding problems ;-)
The usual approach is to use full float accuracy throughout the calculation and then apply rounding a certain key places.
Float formatting is an entirely different issue.
If we were to follow your suggestion, we'd have round() return an integer when called without the argument and a float when called with the argument. No, round() wouldn't have that option at all. If you wanted it, you would use fround() instead, which would have the option and return a float always. This would be a Py3k thing, obviously. If done before then, the new function would have to be given a different name.
Hmm, looks like a YAGNI to me, but perhaps I'm missing something :-)
-- Marc-Andre Lemburg eGenix.com
Professional Python Services directly from the Source (#1, Aug 01 2006)
Python/Zope Consulting and Support ... http://www.egenix.com/ mxODBC.Zope.Database.Adapter ... http://zope.egenix.com/ mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::
- Previous message: [Python-Dev] Rounding float to int directly (Re: struct module and coercing floats to integers)
- Next message: [Python-Dev] Rounding float to int directly (Re: struct module and coercing floats to integers)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]