首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python中确定值是否为整数

在Python中确定值是否为整数
EN

Stack Overflow用户
提问于 2011-06-05 07:17:38
回答 9查看 106.6K关注 0票数 21

我想确定Python中的数值是否为整数。例如,给定:

代码语言:javascript
复制
y = x / 3

我想区分x的值,它们可以被3整除,而不是3。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2011-06-05 07:22:23

代码语言:javascript
复制
if x % 3 == 0:
    print 'x is divisible by 3'
票数 28
EN

Stack Overflow用户

发布于 2011-06-05 07:22:46

整数没有小数。如果你的意思是"check If a number decimals in Python",你可以这样做:

代码语言:javascript
复制
not float(your_number).is_integer()
票数 69
EN

Stack Overflow用户

发布于 2011-10-31 22:23:52

编辑:正如Ollie在这篇文章下面的评论中指出的那样, 是标准库的一部分,因此不应该像我在下面所做的那样重新实现。

此函数使用这样一个事实,即每隔一个整数,至少有一个数可以被2整除,没有余数。nn+1中的任何非零分数表示都将导致n%2(n+1)%2都具有余数。这样做的好处是,表示为浮点值的整数将返回True。据我所知,该函数对正数和负数以及零都能正常工作。正如在函数中提到的,对于非常接近整数的值,它会失败。

代码语言:javascript
复制
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 False
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6239967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档