round() 四舍五入
最后更新:2026-09-22
round() 四舍五入
round(number[, ndigits]) 按「银行家舍入」返回指定位数的小数;ndigits 为 None 时返回整数。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | all |
📝 语法
round(number[, ndigits])
⚙️ 参数
| number 必选 | 要舍入的数值(int / float)。 |
|---|---|
| ndigits 可选 | 保留的小数位数;None 时返回整数。(默认值:None) |
返回值:ndigits 为 None 时返回整数,否则返回与 number 同类型的舍入值(银行家舍入)。
💥 异常
TypeError— ndigits 不是整数时抛出。OverflowError— ndigits 过大(如 10**30)时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
4
4
3.14
ℹ️ 说明 Python 3 用「四舍六入五成双」(银行家舍入),避免长期统计偏差。
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qround(2.5) 为什么是 2 而不是 3?
APython 3 用银行家舍入(四舍六入五成双):恰好 .5 时向最近的偶数靠拢,2.5 最近的偶数是 2;同理 round(3.5) 得 4。
Qround(3.14159, 2) 返回什么?
A返回 3.14,第二个参数 ndigits 指定保留的小数位数。
Qround(123, -1) 返回什么?
A返回 120,ndigits 可以为负,表示舍入到十位、百位等整数位。
Qround() 是精确的十进制舍入吗?
A不是,浮点数有二进制表示误差,如 round(2.675, 2) 可能得到 2.67 而非 2.68;对精度敏感(金额等)用 decimal.Decimal。