当我运行这样的东西时,我总是收到此错误:
from decimal import *
getcontext().prec =30
b=("2/3")
Decimal(b)
Error:
Traceback (most recent call last):
File "Test.py", line 6, in <module>
Decimal(b)
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]
另外,为什么我从控制台得到这个结果?
>>> Decimal(2/3)
Decimal('0.66666666666666662965923251249478198587894439697265625')
Thanks
Decimal
的初始值设定项无法接受其中包含斜杠的字符串。通俗地说,该字符串必须看起来像一个数字。这张表 https://docs.python.org/3/library/decimal.html?#decimal.Decimal显示字符串参数的正确格式。如果你想计算2/3,那么
>>> Decimal(2)/Decimal(3)
Decimal('0.6666666666666666666666666667')
Decimal(2/3)
gives Decimal('0.66666666666666662965923251249478198587894439697265625')
因为 2/3 计算为浮点数,而浮点数本质上具有有限的精度。这是计算机可以最接近地表示的2/3
使用浮子。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)