gpt4 book ai didi

python - 如何在 python 中将有理数和十进制数字字符串转换为 float ?

转载 作者:太空狗 更新时间:2023-10-29 19:30:37 24 4
gpt4 key购买 nike

如何将可以表示小数或有理数的字符串转换为 float

>>> ["0.1234", "1/2"]
['0.1234', '1/2']

我想要 [0.1234, 0.5]。

eval 是我的想法,但没有运气:

>>> eval("1/2")
0

最佳答案

如果转换失败我会解析字符串:

>>> def convert(s):
try:
return float(s)
except ValueError:
num, denom = s.split('/')
return float(num) / float(denom)
...

>>> convert("0.1234")
0.1234

>>> convert("1/2")
0.5

通常使用 eval 不是一个好主意,因为它存在安全风险。 特别是如果正在评估的字符串来自系统外部。

关于python - 如何在 python 中将有理数和十进制数字字符串转换为 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/575925/

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