我想将“0.75”之类的字符串转换为 3/4。python是否有任何内置函数。
我知道我可以使用 float("0.75") 将其转换为浮点值。但我只需要整数而不失去分辨率。
我可以写一个函数,比如将它乘以 100,所以我会得到 75/100,但仍然如何计算到 3/4。任何想法将不胜感激。
>>> from fractions import Fraction
>>> Fraction(0.75)
Fraction(3, 4)
请参阅文档。
一个警告:非二进制分数(即从无法以二进制精确表示的浮点数得出的分数,例如0.9
)可能会产生令人惊讶的结果,除非您传递 的字符串表示形式float
:
>>> Fraction(0.9)
Fraction(8106479329266893, 9007199254740992)
>>> Fraction("0.9")
Fraction(9, 10)
Python 有分数模块。
>>> import fractions
>>> fractions.Fraction('0.75')
Fraction(3, 4)