在python中强制转换为int

时间:2017-05-19 10:00:20

标签: python

我有一个值列表,我必须使用int

ValueError                                Traceback (most recent call last)
<ipython-input-4-9b4decbf862c> in <module>()
      1 for i in range(len(Training_Raw)-1):
----> 2     print(int(Training_Raw[row_indeces[i]][-1]))

ValueError: invalid literal for int() with base 10: '5.0'

正如您所看到的那样,尝试通过错误消息将它们转换为int,尽管有&#34;有效&#34;值。

这里有人有提示如何解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

这是因为Python在这种情况下需要“整数字符串”,例如'5'代替'5.0'。 一种解决方案是先转换为float,然后转换为int

>>> int(float('5.0'))
5

答案 1 :(得分:2)

sting是float值,因此首先必须将其转换为float,然后转换为int。这应该有效:

int(float(value))