1. 程式人生 > >ValueError: invalid literal for int() with base 10問題處理

ValueError: invalid literal for int() with base 10問題處理

問題描述:

在用pthon寫指令碼得過程中,發生錯誤,ValueError: invalid literal for int() with base 10,這種錯誤是值得型別轉換錯誤,int()函式是可以將字串轉換為整形,但是這個字串如果是帶小數得,比如‘470.00’,這個時候如果你再用int(‘470.00’)轉換得話,就會出現上面報得錯誤。

解決方案:

這個時候可以用float()函式處理這個問題,在你不確定這個字串是整形還是浮點數得情況下,用float()比較好,這樣可以避免出現錯誤。

str = '470'
print(int(str))
print(float(str))
str2 = '470.01'
print(float(str2))
print(int(str2))

 執行這個程式碼,最後得int(str2)就會報標題出現的錯誤,因為要被轉化的字串不符合int()函式的要求

  • int(str)函式將符合整數的規定的字串轉換成int型的
  • float(str)函式將符合浮點型的規定的字串轉換成float型的
  • str(num)將整數、浮點型轉換成字串型的