代码之家  ›  专栏  ›  技术社区  ›  bphi

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

  •  1
  • bphi  · 技术社区  · 7 年前

    我正在准备一些数据以插入mysql。不幸的是有些数据是 100½ .我需要把它转换成一个浮点数,但显然 float(100½) 失败。

    python中是否有一个方法可以处理这种转换?我不反对硬编码,但我可能会遇到 ⅝ 或者将来的其他分数。

    2 回复  |  直到 7 年前
        1
  •  3
  •   Ignacio Vazquez-Abrams    7 年前
    >>> float(sum(fractions.Fraction(x) for x in unidecode.unidecode('100½').split()))
    100.5
    

    fractions

    unidecode

        2
  •  1
  •   ishandutta2007    7 年前
    from unidecode import unidecode
    from fractions import Fraction
    a = unidecode('100½').split()
    print(float(int(a[0])+Fraction(a[1])))