在 Python 中 invalid literal for int() with base 10 错误

在 Python 中,当从一种数据类型转换为另一种数据类型时,我们有时会收到 invalid literal for int() with base 10 错误。我们将学习如何解决此错误并避免出现此错误。让我们深入了解一下。

修复 Python 中的 invalid literal for int() with base 10 错误

将一种数据结构转换为另一种数据结构时会发生此错误。例如,如果我们将某个字符串值转换为如下所示的整数,则会出现此错误,因为整数的基数是 10,这与其他数据结构不同。

#String Value
S1 = "Hello"
#Converting it into integer
number = int(S1)

上面的代码是不正确的,因为我们试图将字符串值 Hello 转换为一个没有意义的整数。我们无法将此字符串值转换为整数。

看另一个例子。

#Other String
S2 = "2.8"
#Converting Float string value in Int
number = int(S2)

在上面的代码示例中,字符串包含一个浮点值。它将再次给出错误,因为它与将字符串值转换为以 10 为底的整数相同。但是,这是一个浮点字符串;有一种方法可以将此字符串转换为整数。

#Other String
S2 = "2.8"

#Correct Way to Convert it
#Converting it in to float 
F_number=float(S2)
print(F_number)


#Converting Float into int
int_number = int(F_number)
print(int_number)

输出:

2.8
2

首先,我们将其转换为浮点数据类型。然后我们可以轻松地将浮点数据类型转换为以 10 为底的整数。

如果一个字符串是一个 int 字符串,这意味着它有一个整数值,那么将它直接转换为整数数据类型是没有问题的。

#String
S2 = "3"

#Converting string to Int
number = int(S2)
print(number)

输出:

3