字符串未按预期转换为浮点

2024-09-28 05:20:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在将str转换为float时遇到了一个问题。我确实喜欢this post但这次它不起作用,因为我有以下格式的数字:

5.50000e+000 5.50000e+001 5.50000e+002 5.50000e+003 

如果我更改格式(例如使用5.5 55 550 5500),它可以正常工作。回溯仅说明:

^{pr2}$

我能做什么?有没有具体的命令?在

我的代码是:

^{3}$

当我打印avg_energySTR时

['5.50000e+000','5.50000e+001','5.50000e+002','5.50000e+003','\n']

答案就在KOJIRO的评论中


Tags: 答案代码命令格式评论数字floatthis
2条回答

更改:

avg_energySTR = [str(i) for i in my_line.split(' ')]

收件人:

^{pr2}$

从注释中可以看出,行尾有多余的空格。如果使用默认的分割算法(不传递参数,或传递None),则后面的空白将被忽略。在

列表单元格中有一个'\n'。在

因此,当迭代试图将'\n'转换为float时,会引发一个ValueError

请尝试以下代码:

avg_energySTR = "5.50000e+000 5.50000e+001 5.50000e+002 5.50000e+003"
avg_energySTR = [str(i) for i in avg_energySTR.split()]
avg_energy = []
for stri in avg_energySTR:
        tra = float(stri)
        avg_energy.append(tra)
print (avg_energy)

您也可以在“for”处拆分:

^{pr2}$

相关问题 更多 >

    热门问题