Использование «десятичного числа» в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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