[Python-Dev] Mixing float and Decimal -- thread reboot

Guido van Rossum guido at python.org
Mon Mar 22 21:48:09 CET 2010


On Mon, Mar 22, 2010 at 12:45 PM, Mark Dickinson <dickinsm at gmail.com> wrote:
> 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).

Better, Fraction.from_decimal() already exists. ;-)

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list