如何在Python中将带分数的字符串转换为浮点数

时间:2018-06-24 22:59:37

标签: python mysql python-3.x floating-point fractions

我正在准备一些数据插入MySQL。不幸的是,某些数据的格式为100½。我需要将其转换为浮点数,但是显然float(100½)失败了。

Python中是否有一种方法可以处理此转换?我不反对对某些内容进行硬编码,但将来可能会遇到或其他分数。

2 个答案:

答案 0 :(得分:3)

>>> float(sum(fractions.Fraction(x) for x in unidecode.unidecode('100½').split()))
100.5

fractions

unidecode

答案 1 :(得分:1)

from unidecode import unidecode
from fractions import Fraction
a = unidecode('100½').split()
print(float(int(a[0])+Fraction(a[1])))