[Python-Dev] Mixing float and Decimal -- thread reboot (original) (raw)

Mark Dickinson dickinsm at gmail.com
Mon Mar 22 21:45:39 CET 2010


On Mon, Mar 22, 2010 at 8:33 PM, Raymond Hettinger <raymond.hettinger at gmail.com> wrote:

While we're on the topic, I think you should consider allowing the Fraction() constructor to accept a decimal input.

This corresponds to common schoolbook problems and simple client requests: "Express 3.5 as a fraction".  >>> Fraction(Decimal('3.5')) Fraction(7, 2) Unlike typical binary floats which use full precision, it is not uncommon to have decimal floats with only a few digits of precision where the expression as a fraction is both useful and unsurprising.

Sounds fine to me. Fraction already accepts decimal floating-point strings, so the implementation of this would be trivial (convert to string, then call the Fraction constructor).

Mark



More information about the Python-Dev mailing list