Я пишу программу, которая имеет дело с денежными значениями, поэтому я хочу, чтобы она выводила до двух знаков после запятой, используя десятичную дробь, к сожалению, это не работает, и она выводит гораздо более длинные числа.
Я посмотрел в Интернете, но пока не похоже, что есть какие-либо ответы на эту конкретную проблему, на случай, если что-то произошло в остальной части программы, я запустил тестовый фрагмент кода, используя его только на базовом номере. и произошел тот же результат, так что это не остальная часть моего кода. тест ниже.
from decimal import *
getcontext().prec = 2
test = Decimal(5.859)
print(test)
Я ожидал, что это напечатает вывод 5,86 или, в худшем случае, не менее 5,85, если он не округляется в нужном направлении.
Вместо этого он напечатал.
5.8589999999999999857891452847979962825775146484375
тот же вывод, как если бы getcontext().prec = 2
никогда не использовался
Пожалуйста, имейте в виду, что вы умеренно новичок в python, поэтому, пожалуйста, не предполагайте, что я точно буду знать, что вы имеете в виду, если вы бросите мне случайный код без объяснения причин.
Context.create_decimal
. 11.06.2019