A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2010-March/098442.html below:

[Python-Dev] Decimal <-> float comparisons in py3k.

[Python-Dev] Decimal <-> float comparisons in py3k.Mark Dickinson dickinsm at gmail.com
Tue Mar 16 17:11:38 CET 2010
On Tue, Mar 16, 2010 at 3:58 PM, P.J. Eby <pje at telecommunity.com> wrote:
> At 09:58 AM 3/16/2010 -0500, Facundo Batista wrote:
>>
>> I'm +0 to allow these comparisons, being "Decimal(1) < .3" the same as
>> "Decimal(1) < Decimal.from_float(.3)"
>
> Does Decimal.from_float() use the "shortest decimal representation"
> approach?

No.  It does exact conversions:

>>> Decimal.from_float(1.1)
Decimal('1.100000000000000088817841970012523233890533447265625')
>>> Decimal.from_float(1.1) == 1.1
False
>>> Decimal('1.1') == float('1.1')  # returns False both pre- and post-patch
False

> If not, it might be confusing if a number that prints as '.1' compares
> unequal to Decimal('.1').

Agreed, but this is just your everyday floating-point confusion, to be
dealt with by social means (e.g., educating the programmer).  Any
technical solution that made "Decimal('1.1') == float('1.1')" evaluate
to True would, I suspect, be a cure worse than the original disease.

Mark
More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4