У меня возникла проблема с определением, является ли переменная целой. Не тип переменной, а фактическое значение, хранящееся в переменной. Я пробовал использовать variable % 1
в качестве теста, но он, похоже, не работает. Здесь не код, я использую для теста:Определение, является ли переменная численно целочисленным в Python
if ((xmax - x0)/h) % 1 == 0:
pass
elif ((xmax - x0)/h) % 1 != 0:
print "fail"
Независимо от того, какие значения присутствуют для Xmax, х0, и Л, оператор всегда проходит. Например, если они равны 2,5 (2,5% 1 = .5), они все равно пройдут. Я попытался, если/else, поэтому я попробовал инструкцию else if, как указано выше, и он тоже не работает.
Использовать 'int (x) == x' – MostafaR
Спасибо, это самый простой из ответов. Не могу поверить, что я не думал об этом раньше! – danielunderwood
[Проверить, является ли double равномерно делимым другим двойником в C?] (Http://stackoverflow.com/q/2083290/4279) – jfs