gpt4 book ai didi

python 将字符串 "0"转换为 float 会出错

转载 作者:行者123 更新时间:2023-11-28 22:55:52 24 4
gpt4 key购买 nike

我的 python 脚本中有以下代码,用于启动应用程序并获取它的输出。

此输出的示例将是“已确认:0”

现在我只想知道数字,在本例中为零,但通常这个数字是 float ,例如 0.005464

当我运行这段代码时,它告诉我它不能将“0”转换为 float 。我做错了什么?

这是我现在得到的错误:ValueError:无法将字符串转换为 float :“0”

cmd = subprocess.Popen('/Applications/Electrum.app/Contents/MacOS/Electrum getbalance', shell=True, stdout=subprocess.PIPE)
for line in cmd.stdout:
if "confirmed" in line:
a,b=line.split(': ',1)
if float(b)>0:
print "Positive amount"
else:
print "Empty"

最佳答案

根据你得到的异常,b中包含的值不是0,而是"0"(包括引号),因此不能直接转换为 float 。您需要先删除引号,例如使用 float(b.strip('"'))

从下面的例子可以看出,异常描述没有加引号,所以它们一定是原字符串的一部分:

>>> float('"0"')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: "0"
>>> float('a')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: a

关于python 将字符串 "0"转换为 float 会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16280560/

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