Hting1990 发表于 2020-6-29 17:18:32

不理解decimal函数

>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.3')
>>> print(a + a + a - b)
0.0
请大神们可以解答下 上面这段代码为什么不能写成下面这种?
>>> import decimal
>>> a = decimal.Decimal('0.1+0.1+0.1-03')
>>> print(a)

另外
a = decimal.Decimal('0.1')加引号可以精确计算浮点数,不加引号 a = decimal.Decimal(0.1)就不行,为什么?

永恒的蓝色梦想 发表于 2020-6-29 17:20:02

请大神们可以解答下 上面这段代码为什么不能写成下面这种?因为不支持

永恒的蓝色梦想 发表于 2020-6-29 17:20:48

a = decimal.Decimal('0.1')加引号可以精确计算浮点数,不加引号 a = decimal.Decimal(0.1)就不行,为什么?浮点 0.1 已经有误差了,再转成 Decimal 肯定还是有误差。
页: [1]
查看完整版本: 不理解decimal函数