В x2 = 1.4999999999999999
и print(round(x2))
есть две операции, которые влияют на значение.Функция round
не может работать непосредственно с номером 1.4999999999999999 или цифрой «1.4999999999999999».Его операнд должен быть в формате с плавающей точкой, который использует реализация Python.
Итак, сначала, 1.4999999999999999 преобразуется в формат с плавающей точкой.Python не является строгим в отношении того, какой формат с плавающей запятой использует реализация Python, но основной 64-битный двоичный формат IEEE-754 является распространенным.В этом формате наиболее близкими представимыми значениями 1,4999999999999999 являются 1,5 и 1,4999999999999997779553950749686919152736663818359375.Первый из них ближе к 1.4999999999999999, чем последний, поэтому используется первый.
Таким образом, преобразование 1.4999999999999999 в формат с плавающей запятой дает 1,5.Тогда round(1.5)
производит 2.