Попробуйте поместить строки вокруг литералов с плавающей запятой, например, так:
decimal.Decimal('4.04')+decimal.Decimal('4.04')
В указанном коде необработанный двоичный тип (база 2) "float"
передается в Decimal
. Когда вы используете строки для представления числа 4.04
, например, Decimal
представляет '4.04'
точно в базе 10.