В последней редакции всегда отображается один и тот же пользователь в Google App Scripts Drive.Revisions.list

Вышеупомянутые ответы работают во многих случаях, но они пропускают некоторые. Рассмотрим следующее:

fl = sum([0.1]*10)  # this is 0.9999999999999999, but we want to say it IS an int

Используя это в качестве эталона, некоторые из других предложений не получают желаемого поведения:

fl.is_integer() # False

fl % 1 == 0     # False

Вместо этого попробуйте:

def isclose(a, b, rel_tol=1e-09, abs_tol=0.0):
    return abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

def is_integer(fl):
    return isclose(fl, round(fl))

теперь мы получаем:

is_integer(fl)   # True

isclose поставляется с Python 3.5 + , а для других Python вы можете использовать это в основном эквивалентное определение ( как указано в соответствующем PEP )

0
задан user3284707 5 March 2019 в 16:14
поделиться