Почему 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')
Другие вопросы по тегам