为什么"decimal.Decimal('0')<1.0"在Python 2.6.5中产生False

Grz*_*cki 5 python floating-point decimal

在Python 2.6.5中,以下表达式产生False:

>>> import decimal
>>> decimal.Decimal('0') < 1.0
False
Run Code Online (Sandbox Code Playgroud)

是否有理由解释为什么Decimal与float的比较应该像这样?

Mic*_*rdt 13

十进制模块文档:

版本2.7中的更改:浮点实例x和Decimal实例y之间的比较现在返回基于x和y值的结果.在早期版本中,x <y为任何Decimal实例x和任何float实例y返回相同(任意)的结果.

所以看起来这是一个错误/缺失的功能,你需要做的就是升级.