Я пытаюсь использовать Decimal.quantize()
для достижения следующего: -
Для любой суммы денег, выраженной десятичной дробью питона с точностью по умолчанию, я хочу округлить ее, используя decimal.ROUND_HALF_UP
, чтобы после округления она не имела центов.
Например, учитывая 1,25, я пытаюсь получить 1,00 (что означает отсутствие центов)
дано 1.49 Я пытаюсь получить 1.00
дано 1.50 Я пытаюсь получить 2.00
учитывая 1,87 Я пытаюсь получить 2,00
учитывая 2,00 Я пытаюсь получить 2,00
Таким образом, существует два диапазона центов - от 0 до 49 центов; и от 50 до 99 центов. Для центов до 49 я хочу округлить, для центов 50 и выше я хочу округлить. Я пытаюсь получить результат с двумя значащими десятичными знаками (который всегда будет 00).
У меня нет здесь никаких отрицательных значений. Как мне округлить мои доллары, чтобы получить желаемую сумму? Также есть ли другой вариант, кроме quantize
?