Skip to main content
 首页 » 编程设计

python之我可以从 python 中的数字中得到分数吗

2025年05月04日14insus

我正在做一些计算,在输出之前我想将数字更改为分数。 例如 0.25 将变为 1/4,在两个数字 [1, 4] 的列表中。

请您参考如下方法:

使用 fractions module这样做:

>>> import fractions 
>>> fractions.Fraction(0.25) 
Fraction(1, 4) 
>>> f = fractions.Fraction(0.25) 
>>> f.numerator 
1 
>>> f.denominator 
4 

对于任意 float 作为输入,你真的想使用 .limit_denominator() method将分数限制为 float 的合理近似值:

>>> from math import pi, cos 
>>> fractions.Fraction(cos(pi/3)) 
Fraction(4503599627370497, 9007199254740992) 
>>> fractions.Fraction(cos(pi/3)).limit_denominator() 
Fraction(1, 2)