You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中num.is_integer()如何判断浮点数是否为整数值

float.is_integer() 判定逻辑说明

Python浮点数内置方法is_integer()是float类型自带的原生方法,不需要额外编写逻辑,核心判定规则非常明确:校验当前浮点数在数值层面是否恰好等于某个整数,也就是小数部分是否全为0。

它可以直接区分10.0和10.1的核心原因:

  • 10.0的数值完全等价于整数10,不存在非零小数部分,调用方法会返回True
  • 10.1存在非零小数部分,即便受双精度浮点数存储规则影响存在微小精度误差,只要数值上无法和某个整数完全匹配,调用方法就会返回False
自定义判断函数运行流程

对应的自定义整数判定函数代码如下:

def is_integer(num):
        if isinstance(num, float):
            return num.is_integer()
        elif isinstance(num, int):
            return True
        else:
            return False

函数逐分支运行逻辑:

  • 首先判断入参是否为浮点数类型:如果是,直接返回浮点数自带is_integer()方法的判定结果,刚好可以识别出小数部分为0、被冗余定义为浮点数的整数值
  • 如果入参不是浮点数,继续判断是否为int整数类型,是则直接返回True
  • 既不是浮点数也不是整数的其他类型入参(比如字符串、列表、字典等),统一返回False
入参返回结果参考

不同类型入参的返回结果示例:

  • 入参为普通整数15:匹配int分支,返回True
  • 入参为.0格式浮点数15.0:匹配float分支,返回True
  • 入参为带非零小数的浮点数15.2:匹配float分支,返回False
  • 入参为非数值类型:匹配else分支,返回False

内容的提问来源于stack exchange,提问作者Cats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 15:54:18