Skip to main content
 首页 » 编程设计

python之得到最简化的分数

2025年05月04日19java哥

<分区>

我正在编写一个使用 Fractions 模块的程序。我想获得 float 的最简化部分。当我用 0.5 这样的数字尝试时,它工作正常:

>>> import fractions 
>>> str(fractions.Fraction(0.5)) 
'1/2' 

但是当我尝试使用 0.55 或 0.1 时,它会显示分子和分母非常高的分数,而不是 11/20 和 1/10。

>>> str(fractions.Fraction(0.1)) 
'3602879701896397/36028797018963968' 
>>> str(fractions.Fraction(0.55)) 
'2476979795053773/4503599627370496' 

我该怎么做才能确保脚本始终显示最简化的分数?有什么方法可以使用 Fractions 模块或其他模块来完成,还是我必须自己编写函数?