为什么;十进制。十进制(';0';)<;1.0“;在Python2.6.5中产生False
在Python 2.6.5中,以下表达式生成False:为什么;十进制。十进制(';0';)<;1.0“;在Python2.6.5中产生False,python,floating-point,decimal,Python,Floating Point,Decimal,在Python 2.6.5中,以下表达式生成False: >>> import decimal >>> decimal.Decimal('0') < 1.0 False >>导入十进制数 >>>十进制。十进制('0')
>>> import decimal
>>> decimal.Decimal('0') < 1.0
False
>>导入十进制数
>>>十进制。十进制('0')<1.0
假的
是否有理由解释为什么十进制与浮点的比较应该是这样的?来自:
在版本2.7中更改:比较
在浮点实例x和
十进制实例y现在返回一个
结果基于x和y的值。
在早期版本中,x因此,这似乎是一个错误/缺失的功能,您需要做的只是升级。Python 2.7或3.1上没有重新安装-这里没有安装2.6.5,因此我无法检查。2.6.6的确认-问题可能与:
decimal.decimal('0')+1.0
提升类型错误:不支持的操作数类型有关对于+:“Decimal”和“float”
在Python 2.4.4和2.5.2上可能重复Yes repo