Valueerror: Invalid literal for int() with base 10

时间:2020-02-23 14:43:46  来源:igfitidea点击:

在本教程中,我们会看到 Valueerror: Invalid literal for int() with base 10

当我们尝试将字符串转换为INT时,我们将看到此错误 int()功能。
如果我们提供无效字符串输入 int()功能,我们将收到此错误。
这是滑块更好地理解它。

让我们在举例的帮助下看到这个。

str1 ='theitroad'
strInt = int(str1)
print(strInt)

输出:

--------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-13-787afdfc64da> in <module>
      1 str1 ='theitroad'
----> 2 strInt = int(str1)
      3 print(strInt)
 
ValueError: invalid literal for int() with base 10: 'theitroad'

显然,你不能转换 'theitroad' 到int类型,因此得到 Valueerror: Invalid literal for int() with base 10

让我们看另一个例子。

str1 ='30'
strInt = int(str1)
print(strInt)

输出:

正如我们所看到的,当我们放置有效的int值时,它会很好。

浮点数

我们可以直接使用 int()将Float Number转换为INT的功能。

float1 =30.23
int1 = int(str1)
print(int1)

如果你试图转换一个 float stringint使用 int()功能,你会得到 Valueerror: Invalid literal for int() with base 10
让我们在举例的帮助下看看。

str1 ='30.23'
strInt = int(str1)
print(strInt)

输出:

--------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-15-24bc2bd52b89> in <module>
      1 str1 ='30.23'
----> 2 strInt = int(str1)
      3 print(strInt)
 
ValueError: invalid literal for int() with base 10: '30.23'

如果要转换浮动字符串 '30.23' 到int,你需要先使用 float()功能然后 int()如下。

str1 ='30.23'
strInt = int(float(str1))
print(strInt)

输出:

30

正如我们所看到的,我们能够成功转换 30.23到int。

使用尝试

我们可以使用 try-except处理此错误。
让我们在举例的帮助下看到这个。

str1 ='theitroad'
try: 
    strInt1 = int(str1)
    print(strInt1)
except:
    print('Can not convert',str1,"to int")