标签: python python-3.x
我只是想知道我是否可以轻松地将混合数字(作为数字或字符串输入)转换为浮点数或整数。我看过了分数模块,但似乎它不能做我想要的,或者我读得不好。
在编写自己的函数之前,只想知道某些事情是否已存在。这是我正在寻找的,顺便说一下:
convert(1 1/2)
或
convert('1 1/2')
感谢。
答案 0 :(得分:9)
内置的Fraction类似乎不像你所拥有的那样支持混合分数,但在空间上分割它们并不太难。例如,1 + fractions.Fraction('1/2')或非常简单的
Fraction
1 + fractions.Fraction('1/2')
def convert(f): whole, frac = f.split() return int(whole) + fractions.Fraction(frac)
答案 1 :(得分:0)
我编写了Mixed类来扩展分数来做到这一点。来源是here。
Mixed
>>> float(Mixed('6 7/8')) 6.875 >>> float(Mixed(1,1,2)) # 1 1/2 1.5