我刚刚开始使用 Python 2.7,并正在尝试构建一个简单的信用支付计算器作为测试。据我所知,十进制函数应该强制程序计算到特定的小数位数。从文档页面:
>>> from decimal import *
>>> getcontext().prec = 6
>>> Decimal(1) / Decimal(7)
Decimal('0.142857')
>>> getcontext().prec = 28
>>> Decimal(1) / Decimal(7)
Decimal('0.1428571428571428571428571429')
所以我的理解是,如果我输入以下内容:
from decimal import *
getcontext().prec=2
total =5
print Decimal(total)
我应该得到以下
5.00
但是,它会一直打印 5。如果我输入Decimal (5)
或Decimal (total)
得到输出Decimal ('5')
。谁能告诉我我做错了什么?