2

我想将“0.75”之类的字符串转换为 3/4。python是否有任何内置函数。

我知道我可以使用 float("0.75") 将其转换为浮点值。但我只需要整数而不失去分辨率。

我可以写一个函数,比如将它乘以 100,所以我会得到 75/100,但仍然如何计算到 3/4。任何想法将不胜感激。

4

2 回答 2

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)
于 2013-02-13T12:09:18.073 回答
3

Python 有分数模块。

>>> import fractions
>>> fractions.Fraction('0.75')
Fraction(3, 4)
于 2013-02-13T12:09:05.197 回答