python中如何浮点型取整

1次阅读

python浮点取整有四种方式:1.int()向零截断,如int(-3.7)→-3;2.round()按银行家舍入,如round(2.5)→2;3.math.floor()向下取整,如floor(-3.7)→-4;4.math.ceil()向上取整。

python中如何浮点型取整

Python 中浮点型取整有多种方式,关键看你要的是“向零截断”、“四舍五入”、“向下取整”还是“向上取整”。不同函数行为差异明显,用错容易出 bug

1. int():向零截断(最常用但易误解)

直接丢掉小数部分,不四舍五入,正负数都往 0 靠拢:

  • int(3.7) → 3
  • int(-3.7) → -3(不是 -4!)

适合明确只要整数部分的场景,比如拆分坐标、索引计算,但不是数学意义上的“取整”。

2. round():四舍五入(注意银行家舍入规则)

默认保留整数位,但 Python 使用“四舍六入五成双”(银行家舍入),避免统计偏差:

立即学习Python免费学习笔记(深入)”;

  • round(2.5) → 2(5 前为偶数,舍)
  • round(3.5) → 4(5 前为奇数,入)
  • round(3.14159, 2) → 3.14(可指定小数位)

适合日常近似,但若需严格“传统四舍五入”,建议用 decimal 模块或自定义逻辑。

python中如何浮点型取整

HiDream AI

全中文AIGC创作平台和AI社区

python中如何浮点型取整 266

查看详情 python中如何浮点型取整

3. math.floor() 和 math.ceil():向下/向上取整

需要先 import math

  • math.floor(3.7) → 3(不大于该数的最大整数)
  • math.floor(-3.7) → -4(注意:-4
  • math.ceil(3.2) → 4(不小于该数的最小整数)
  • math.ceil(-3.2) → -3

常用于分页计算、资源分配、边界对齐等需要确定上下界的情况。

4. math.trunc():等价于 int(),显式表达截断意图

int() 行为完全一致,但语义更清晰:

  • math.trunc(3.9) → 3
  • math.trunc(-3.9) → -3

推荐在需要强调“砍掉小数”而非“转类型”时使用,提升代码可读性

基本上就这些。选哪个取决于你真正想要的数学含义——不是所有“取整”都一样。

text=ZqhQzanResources