float.as_integer_ratio() 转成精确分数
最后更新:2026-09-22
float.as_integer_ratio() 转成精确分数
float.as_integer_ratio() 把浮点数表示为精确的分子/分母二元组。
| 分类 | 数字类型方法 |
|---|---|
| 类型 | 内建类型方法 |
| Python 版本 | all |
📝 语法
float.as_integer_ratio()
返回值:tuple。返回 (分子, 分母),为该浮点数的精确比值表示。
是否修改原对象:否(返回新对象)
💥 异常
OverflowError— 浮点数为无穷大(inf)时抛出。ValueError— 浮点数为 NaN 时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
(1, 2)
(1, 4)
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qas_integer_ratio() 返回什么?
A精确的 (分子, 分母) 元组:0.5 返回 (1, 2)。注意它表示的是二进制浮点的精确值。
Q为什么 0.1 得到的比值看起来很奇怪?
A0.1 在二进制里无法精确表示,返回的是其实际存储值的精确分数,分子分母会很长。
Qinf 和 NaN 会怎样?
Afloat('inf').as_integer_ratio() 抛 OverflowError;NaN 抛 ValueError。