我正在处理一些需要保持高精度计算结果的脚本,因此我开始使用 decimal.Decimal 而非内置的浮点数。我知道它无法与浮点数类型值一起使用,并且会返回 TypeError: unsupported operand type(s) for +: 'decimal.Decimal' and 'float'。我需要确切地知道为什么它不支持与浮点数进行这种类型的操作。
示例:
示例:
from decimal import Decimal
expr_= 1.2+Decimal('1')
当我尝试将字符串添加到浮点数时出现此类型的错误,这对我来说似乎是合乎逻辑的,但在尝试计算两个数字值时却不会出现该错误。
使用SymPy Float数据类型进行相同的操作时,我可以轻松地完成而不会遇到任何问题。例如:
from decimal import Decimal
from sympy import Float
expr_=Decimal('1.6')+Float(1.2)
float
转换为Decimal
。 - tobias_kDecimal('1.6')+Float(1.2)
将推迟执行)。 - Ry-