Python Decimal.getcontext.prec()无法强制执行精度

Python Decimal.getcontext.prec()无法强制执行精度,python,decimal,precision,Python,Decimal,Precision,我期待着第二次出现'0.1234'和'0.0152' 有没有办法做到这一点?它就在: 我注意到上下文精度适用于操作结果,但不适用于输入。当混合不同精度的值时,有什么需要注意的吗 A.[…]解决方案是提高精度或使用一元加号运算强制输入四舍五入 prec不是有效位数吗?这是两个不同的问题;首先,上下文不适用于新构造的十进制对象,只适用于算术运算的结果(例如,+Decimal('0.12345')的行为符合您的预期);第二个是prec是有效位数,而不是小数位数。请看和 In [1]: from dec

我期待着第二次出现
'0.1234'
'0.0152'

有没有办法做到这一点?

它就在:

我注意到上下文精度适用于操作结果,但不适用于输入。当混合不同精度的值时,有什么需要注意的吗

A.[…]解决方案是提高精度或使用一元加号运算强制输入四舍五入


prec
不是有效位数吗?这是两个不同的问题;首先,上下文不适用于新构造的十进制对象,只适用于算术运算的结果(例如,
+Decimal('0.12345')
的行为符合您的预期);第二个是
prec
是有效位数,而不是小数位数。请看和
In [1]: from decimal import Decimal, getcontext

In [2]: getcontext().prec = 4

In [3]: Decimal('0.12345')
Out[3]: Decimal('0.12345')

In [4]: Decimal('0.12345') * Decimal('0.12345')
Out[4]: Decimal('0.01524')
>>> from decimal import Decimal, getcontext
>>> getcontext().prec = 4
>>> +Decimal('0.12345')
Decimal('0.1234')
>>> (+Decimal('0.12345') * +Decimal('0.12345'))
Decimal('0.01523')
>>>