试图使用十进制软件包设置精度,但无法获得所需的精度

2024-06-01 03:07:01 发布

您现在位置:Python中文网/ 问答频道 /正文

jupyter nb我正在用Python玩十进制软件包,想知道为什么我设置的精度没有按预期实现。例如:

from decimal import *
getcontext()

Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])


getcontext().prec = 2
getcontext()

Context(prec=2, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])

Decimal(1)/Decimal(9)
Decimal('0.1111111111111111111111111111')

我希望行Decimal(1)/Decimal(9)的输出是Decimal('0.11'),而不是Decimal('0.1111111111')。我错过了什么


Tags: contextflagsdecimaleveneminroundingroundhalf