Почему str (float) возвращает больше цифр в Python 3, чем в Python 2?

В Python 2.7repr изfloat возвращает ближайшее десятичное число длиной до 17 цифр; это достаточно точно, чтобы однозначно идентифицировать каждое возможное значение с плавающей точкой IEEE.str изfloat работал аналогично, за исключением того, что он ограничивал результат до 12 цифр; в большинстве случаев это более разумный результат, который изолирует вас от небольших различий между двоичным и десятичным представлением.

Демо-версия Python 2:http://ideone.com/OKJtxv

print str(1.4*1.5)
2.1
print repr(1.4*1.5)
2.0999999999999996

В Python 3.2 это появляетсяstr а такжеrepr вернуть то же самое.

Демо-версия Python 3:http://ideone.com/oAKRsb

print(str(1.4*1.5))
2.0999999999999996
print(repr(1.4*1.5))
2.0999999999999996

Есть ли PEP, который описывает изменение, или какое-то другое заявление от кого-то ответственного?

Ответы на вопрос(1)

Ваш ответ на вопрос