Почему decimal.getcontext(). Prec=3 не работает для decimal.Decimal(1.234)
Почему не decimal.getcontext(). Prec для decimal.Decimal(x)? Это дает длинное десятичное значение:
>>>decimal.getcontext().prec = 3
>>>decimal.Decimal(2.345)
Decimal('2.345000000000000195399252334027551114559173583984375')
1 ответ
Как описано в руководстве,
Значение нового десятичного числа определяется исключительно количеством введенных цифр. Точность контекста и округление используются только во время арифметических операций.
>>> decimal.getcontext().prec = 3
>>> decimal.Decimal(2.345)
Decimal('2.345000000000000195399252334027551114559173583984375')
>>> decimal.Decimal(2.345) + decimal.Decimal(4)
Decimal('6.35')