我想确定Python中的数值是否为整数。例如,给定:
y = x / 3我想区分x的值,它们可以被3整除,而不是3。
发布于 2011-06-05 07:22:23
if x % 3 == 0:
print 'x is divisible by 3'发布于 2011-06-05 07:22:46
整数没有小数。如果你的意思是"check If a number decimals in Python",你可以这样做:
not float(your_number).is_integer()发布于 2011-10-31 22:23:52
编辑:正如Ollie在这篇文章下面的评论中指出的那样, 是标准库的一部分,因此不应该像我在下面所做的那样重新实现。
此函数使用这样一个事实,即每隔一个整数,至少有一个数可以被2整除,没有余数。n或n+1中的任何非零分数表示都将导致n%2和(n+1)%2都具有余数。这样做的好处是,表示为浮点值的整数将返回True。据我所知,该函数对正数和负数以及零都能正常工作。正如在函数中提到的,对于非常接近整数的值,它会失败。
def isInteger(n):
"""Return True if argument is a whole number, False if argument has a fractional part.
Note that for values very close to an integer, this test breaks. During
superficial testing the closest value to zero that evaluated correctly
was 9.88131291682e-324. When dividing this number by 10, Python 2.7.1 evaluated
the result to zero"""
if n%2 == 0 or (n+1)%2 == 0:
return True
return Falsehttps://stackoverflow.com/questions/6239967
复制相似问题