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

Haider Ali 2022年5月17日
在 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
作者: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

相关文章 - Python Error

相关文章 - Python Conversion