如何解决Python ValueError:无法将字符串转换为浮点型
我有下面的代码,输入为h_ply =['0.12,0.15,0.2,0.125']
h_ply = simpledialog.askstring('Laminate Properties','Ply Thickness')
try:
h_layer_list = [int(x) for x in h_ply.split(',')]
h_layer = np.array(h_layer_list) * 0.001
我也尝试过
h_ply1 = np.array(h_ply)
h_layer = h_ply1.astype(np.float)
但是有同样的错误。
我正在尝试将h_ply
列表放入np.array
个Floats中。但是出现ValueError。
我了解这可能是因为每个数字都应该有''
,而不仅仅是结尾吗?但理想情况下,我想避免这种情况变得更加用户友好。摆脱此错误消息的最佳方法是什么?
谢谢
解决方法
处理此问题的方法是正确访问字符串。查看您的数据:
h_ply =( # a tuple,containing ...
[ # a single element,a list,containing ...
[ # a single element,containing ...
'0.12,0.15,0.2,0.125' # ... a string that you have to split
]
]
)
您必须剥离所有这些层才能到达字符串:
h_str = h_ply[0][0][0]
现在,您可以分割字符串并将元素转换为数值。您发布的代码试图拆分元组并进行转换。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。