2011-09-11 51 views
5

我只是想知道如果我可以輕鬆地將混合數字(輸入爲數字或字符串)轉換爲浮點數或整數。我已經看了分數模塊,但它似乎無法做到我想要的,或者我讀得不好。是否有Python模塊,我可以輕鬆地將混合分數轉換爲浮點數?

只是想知道,如果事情已經存在,然後我寫我自己的功能。這裏就是我要找的,順便說一句:

convert(1 1/2) 

convert('1 1/2') 

感謝。

回答

9

內置的Fraction類看起來不像支持混合分數,但在空間上分割它們並不難。例如,1 + fractions.Fraction('1/2')還是一個非常簡單的

def convert(f): 
    whole, frac = f.split() 
    return int(whole) + fractions.Fraction(frac) 
+0

謝謝先生,是的,我可以分裂(''),這就是我想知道的,再次感謝:) – arscariosus

0

我寫了Mixed類來擴展分數來做到這一點。來源是here

>>> float(Mixed('6 7/8')) 
6.875 
>>> float(Mixed(1,1,2)) # 1 1/2 
1.5 
相關問題