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