У меня есть небольшая функция, которая округляет десятичные числа, и моя функция выглядит следующим образом:
from decimal import Decimal, ROUND_UP
def convert_decimal(decimal_number):
return decimal_number.quantize(Decimal('0.01'), rounding=ROUND_UP)
В моем коде он работает правильно, когда я без проблем запускаю проект django. Функция работает без ошибок.
Но когда я пытаюсь выполнить приведенный ниже код, он выходит из строя со странной ошибкой:
class UtilityFunctionsTests(TestCase):
def test_decimal_number(self):
decimal_number = Decimal("23.54646354745375634756868")
converted = convert_decimal(decimal_number)
self.assertEqual(converted, Decimal("23.55"))
Ошибка ошибки выглядит следующим образом:
integration/tests/test_base_updater.py:78:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
decimal_number = Decimal('23.546463547453758025085335248149931430816650390625')
def convert_decimal(decimal_number):
> return decimal_number.quantize(Decimal('0.01'), rounding=ROUND_UP)
E decimal.InvalidOperation: [<class 'decimal.InvalidOperation'>]
entegrasyon/tests/test_base_updater.py:11: InvalidOperation