[Python-Dev] Mixing float and Decimal -- thread reboot
Guido van Rossum
guido at python.org
Mon Mar 22 20:03:04 CET 2010
On Mon, Mar 22, 2010 at 11:00 AM, Raymond Hettinger
<raymond.hettinger at gmail.com> wrote:
> On Mar 22, 2010, at 11:26 AM, Mark Dickinson wrote:
>> Just for the record, I'd also prefer Decimal + Fraction -> Decimal.
> Guido was persuasive on why float + Fraction --> float,
> so this makes sense for the same reasons.
> For the implementation, is there a way to avoid the double rounding
> in myfloat + myfrac.numerator / myfrac.denominator?
> Perhaps translate it to:
> f = Fractions.from_decimal(myfloat) + myfract # Lossless, exact addition
> return f.numerator / f.denominator # Only one decimal context rounding applied.
> Elsewhere in the decimal module, there is a fundamental notion
> that numbers are exact and only the results of operations are
> rounded. For example, it is possible in decimal to add together
> two high precision numbers but do so in a low precision context.
Works for me.
--Guido van Rossum (python.org/~guido)
More information about the Python-Dev