Использование «десятичного числа» в Python с кавычками (строками) и без (с плавающей запятой)Python

Программы на Python
Ответить
Anonymous
 Использование «десятичного числа» в Python с кавычками (строками) и без (с плавающей запятой)

Сообщение Anonymous »

Может кто-нибудь объяснить, что происходит ниже? (Я использую Python 3.3)

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

In [1]: Decimal("0.1") + Decimal("0.1") + Decimal("0.1") - Decimal("0.3")
Out[1]: Decimal('0.0')

In [2]: Decimal(0.1) + Decimal(0.1) + Decimal(0.1) - Decimal(0.3)
Out[2]: Decimal('2.775557561565156540423631668E-17')

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


Подробнее здесь: https://stackoverflow.com/questions/145 ... out-floats
Ответить

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

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

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

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

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