Я пытаюсь сделать несколько исчислений с числами с фиксированной запятой, сохраняя при этом определенную десятичную точность (понимаемую как число цифр после запятой). Скажем, я хочу сохранить две цифры после десятичной точки.
Мне нужно сделать несколько исчислений, таких как
10.00 + 0.01
и получить
10.01
в качестве ответа. Но затем я хочу добавить 100 и получить 110.01
в качестве ответа.
Пока мне удалось попробовать decimal
библиотеку :
from decimal import Decimal, getcontext
a = Decimal( '10.0000')
b = Decimal( '0.0100')
c = Decimal('100.0000')
getcontext().prec=4
a+b # results in Decimal('10.01')
a+b+c # results in Decimal('110.0') <- Missing a decimal digit
getcontext().prec=5
a+b # results in Decimal('10.010') <- Have one extra decimal digit
a+b+c # results in Decimal('110.01')
Так До сих пор мне удавалось контролировать только общее количество значащих цифр, но не количество десятичных знаков после десятичной точки.
Поэтому вопрос таков: есть ли способ дать свободу количеству значащих цифр, кроме ограничить количество цифр после десятичной точки?