设置小数精度,这里主要了解通过decimal模块来设置,可以设置全局小数精度,也可以设置局部小数精度。 使用的是该模块中的getcontext().pre 来实现,使用这种方法,数字应以Decimal格式。普通的整数格式不受限制。
全局设置
示例如下:
>>> import decimal
>>> 1/7
0.14285714285714285
>>> decimal.getcontext().prec = 4
>>> 1/7
0.14285714285714285
>>> decimal.Decimal(1)/decimal.Decimal(7)
Decimal('0.1429')
局部设置
局部设置小数精度,需要通过with语句来实现。示例如下:
>>> import decimal
>>> 1/7
0.14285714285714285
>>> decimal.getcontext().prec = 4
>>> 1/7
0.14285714285714285
>>> decimal.Decimal(1)/decimal.Decimal(7)
Decimal('0.1429')
>>> with decimal.localcontext() as lctx :
... lctx.prec=2
... decimal.Decimal('1') / decimal.Decimal('7')
...
Decimal('0.14')
>>> decimal.Decimal(1) / decimal.Decimal(7)
Decimal('0.1429')
>>>