Python浮点数转整数有int()截断、round()四舍五入(银行家舍入)、math.floor()向下取整、math.ceil()向上取整四种方式,需注意负数行为及inf/NaN异常处理。

Python 中浮点数转整数有多种方式,关键看你想怎么处理小数部分:直接截断、四舍五入、还是向下/向上取整。
用 int() 截断小数部分
这是最常用也最直接的方法,它不四舍五入,只是去掉小数点后的所有数字,相当于向零取整(truncation):
- int(3.9) → 3
- int(-2.7) → -2(注意:不是 -3)
用 round() 四舍五入到最近的整数
按数学常规规则处理,遇到 .5 时向偶数靠拢(银行家舍入法):
- round(3.5) → 4
- round(2.5) → 2(因为 2 是偶数)
- round(-1.5) → -2
用 math.floor() 和 math.ceil()
需要先导入 math 模块,分别实现向下取整(≤ 原数的最大整数)和向上取整(≥ 原数的最小整数):
立即学习“Python免费学习笔记(深入)”;
- math.floor(3.9) → 3;math.floor(-2.1) → -3
- math.ceil(3.1) → 4;math.ceil(-2.9) → -2
注意类型和异常
这些函数返回的都是 int 类型,不是字符串。如果浮点数过大(比如 float('inf') 或 float('nan')),调用 int() 或 round() 会报错,建议提前检查:
- 用 math.isfinite(x) 判断是否为有限数
- 避免对 NaN 或无穷大直接转换
基本上就这些,选哪个取决于你想要的取整逻辑。











