On Fri, Mar 7, 2014 at 6:15 PM, Guido van Rossum <guido@python.org> wrote:
Or, Decimal(repr(some_float)), which DWIM.

Because I haven't seen anyone else bring this up, using a non-exact conversion breaks the invariant "Decimal(f)==f".

There are so many pairs of numeric types that break that invariant that it might not be a big deal; but in all other cases the invariant is broken because it is theoretically impossible.

from decimal import Decimal
f = 2.2
print(Decimal(f)==f)
print(Decimal(repr(f))==f)

p