蟒蛇小数比较蟒蛇小数比较
>>> from decimal import Decimal
>>> Decimal('1.0') > 2.0
True
我期待它正确地转换2.0,但读通PEP 327我知道有一些理由不implictly转换浮到小数点后,但不应该在情况下,应该提高类型错误,因为在这种情况下确实
>>> Decimal('1.0') + 2.0
Traceback (most recent call last):
File "<string>", line 1, in <string>
TypeError: unsupported operand type(s) for +: 'Decimal' and 'float'
所以做了所有其他运营商/ - %//等
所以我的问题1附件是
- 这是正确的行为? (不会在cmp中引发异常)
- 如果我推导出我自己的类和 右边的float转换器基本上 Decimal(repr(float_value)),是 有什么注意事项?我的使用情况 涉及价格
系统细节的只有比较:在Ubuntu 8.04.1
我编辑了第一个问题一点,右边我的意思是如果它不能比较转换 – 2009-06-30 06:30:37
啊,我知道不会引发异常。是的,这有一个不同的原理,我同意提出异常似乎更明确。但这又是一个味道问题。 – 2009-06-30 06:39:13