piggy1 发表于 2022-5-2 23:27:19

decimal问题

>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.3')
>>> print(a + a + a - b)
0.0

这里的a和b是什么类型字符串还是数字
为什么输入的是字符串出来的却是数字

isdkz 发表于 2022-5-2 23:44:30

a 和 b 是 Decimal 类型,它们的运算结果也是 Decimal 类型,

只不过它们的 __str__ 方法返回的格式让你看起来是一个数字,

你打印 a 看起来也会是一个数字的

>>> type(a)
<class 'decimal.Decimal'>
>>> a + a + a - b
Decimal('0.0')
>>> str(a + a + a - b)
'0.0'
>>> print(a)
0.1
>>>

piggy1 发表于 2022-5-3 00:01:36

isdkz 发表于 2022-5-2 23:44
a 和 b 是 Decimal 类型,它们的运算结果也是 Decimal 类型,

只不过它们的 __str__ 方法返回的格式让你 ...

好的 感谢 我自己给绕蒙了
页: [1]
查看完整版本: decimal问题