我想一個字符串轉換,如「0.75」到3/4。做python有這個任何內置函數。的Python - 解析浮動字符串爲整數
我知道我可以使用浮動(「0.75」)得到一個浮點值轉換。但我只需要整數而不會失去分辨率。
我可以寫一個函數一樣乘以100,所以我會得到75/100,但還是如何evaulate到3/4。任何想法將不勝感激。
我想一個字符串轉換,如「0.75」到3/4。做python有這個任何內置函數。的Python - 解析浮動字符串爲整數
我知道我可以使用浮動(「0.75」)得到一個浮點值轉換。但我只需要整數而不會失去分辨率。
我可以寫一個函數一樣乘以100,所以我會得到75/100,但還是如何evaulate到3/4。任何想法將不勝感激。
>>> from fractions import Fraction
>>> Fraction(0.75)
Fraction(3, 4)
見docs。
警告:非二進制小數(即分數從floating point numbers that cannot be represented accurately in binary衍生,像0.9
),除非你通過float
的字符串表示可能會產生意想不到的結果:
>>> Fraction(0.9)
Fraction(8106479329266893, 9007199254740992)
>>> Fraction("0.9")
Fraction(9, 10)
非常感謝你 – karpanai 2013-02-13 12:48:05
這對非二進制分數有什麼作用? – phant0m 2013-02-13 14:12:58
@ phant0m:好點;我會編輯我的答案。 – 2013-02-13 14:15:15