Python Glossary English

все Python 3Числа и математикафункция

float.is_integer

как дробь

Возвращает True, если число с плавающей точкой имеет целое значение (дробная часть равна нулю), иначе False.

Синтаксис

x.is_integer()

Метод говорит о значении, а не о типе: 4.0 остаётся float, и is_integer() ничего не преобразует — для этого нужен int(). Главная ловушка — округление: результат вещественных вычислений, целый «по математике», часто отличается от целого в последних битах и даёт False, а inf и nan дают False всегда. Наоборот, у очень больших float (по модулю от 2**52) соседние представимые значения отличаются уже не меньше чем на единицу, поэтому там ответ всегда True.

Примеры

print((4.0).is_integer())  # → True
print((4.5).is_integer())  # → False
print((-2.0).is_integer())  # → True

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности