HOWTO · Python

在 Python 中 invalid literal for int() with base 10 錯誤

如何在 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