все 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Сообщить о неточности