Использование «десятичного числа» в PythonPython

Программы на Python
Anonymous
Использование «десятичного числа» в Python

Сообщение Anonymous »

Кто-нибудь может объяснить, что происходит ниже: (я использую Python 3.3)

Код: Выделить всё

1. >>> Decimal("0.1") + Decimal("0.1") + Decimal("0.1") - Decimal("0.3")
Decimal('0.0')

2. >>> Decimal(0.1) + Decimal(0.1) + Decimal(0.1) - Decimal(0.3)
Decimal('2.775557561565156540423631668E-17')

3. >>> Decimal(0.1 + 0.1 + 0.1 - 0.3)
Decimal('5.5511151231257827021181583404541015625E-17')
Я знаю, что это связано с ограничением чисел с плавающей запятой, я был бы рад, если бы кто-нибудь объяснил, почему
  • Какое отношение " " имеет к разнице между примерами 1 и 2 выше
  • Почему 2 дает ответ, отличающийся от 3, учитывая, что оба не имеют " " ?


Подробнее здесь: https://stackoverflow.com/questions/145 ... -in-python

Вернуться в «Python»