python由列表中提取出来的浮点型字符串不能直接转换成整形
案例如下:
lst = ['636', 'system', '10', '-10', '1.1G', '114M', '95M', 'S', '45.0', '12.9', '1:15.87', 'com.android.set+\n\n']
b = lst[8]
c = int(b)
print (b)
print (type(c))
列表中第8和第9位两个为浮点型的字符串,提取出该字符串后想转成整形会报如下错误:
Traceback (most recent call last):
File "D:\WorkSpace3\DEBUG\debug\debug.py", line 5, in <module>
c = int(b)
ValueError: invalid literal for int() with base 10: '45.0'
如果一定要转换的话,先将该提取出来的值转成浮点型,然后再由浮点型转成整形即可,如下:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
lst = ['636', 'system', '10', '-10', '1.1G', '114M', '95M', 'S', '45.0', '12.9', '1:15.87', 'com.android.set+\n\n']
b = lst[8]
c = float(b)
d = int(c)
print (b)
print (type(c))
print (d)
print (type(d))
输出如下:
45.0
<class 'float'>
45
<class 'int'>