gpt4 book ai didi

python - 表示 float 的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 08:30:08 24 4
gpt4 key购买 nike

我正在尝试处理这样的字符串:

s = '1/2.05'

当我尝试将其解析为分数时:

Fraction(s)

我正在获得:

ValueError: ("Invalid literal for Fraction: u'1/2.05'", u'occurred at index 3')

我也试过:

Fraction(s.split('/')[0], s.split('/')[1])

但也有错误:

TypeError: ('both arguments should be Rational instances', u'occurred at index 3')

正确的解析是怎样的?

提前谢谢大家!

最佳答案

问题在于分数和 float 不混合,因此您不能直接对在分数中隐藏 float 的字符串进行类型转换。

不过不要为此使用 eval。
尝试分别处理分子和分母。 (您可以使用 float ,但直接在字符串上调用 Fraction 会更精确,避免使用 precision issues 。)

from fractions import Fraction
s = '1/2.05'
numerator, denominator = s.split('/')
result = Fraction(numerator)/Fraction(denominator)
print(result)

关于python - 表示 float 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53595158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com