HOWTO · Python
Python でベース 10 エラーのある Int()の無効なリテラルを修正
Python でベース 10 エラーのある int()の無効なリテラルを修正する方法
このページの内容
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)
上記のコード例では、文字列に float 値が含まれています。文字列値を 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
まず、float データ型に変換します。次に、その float データ型を基数 10 の整数に簡単に変換できます。
文字列が int 文字列である場合、つまり整数値を持っている場合は、整数データ型に直接変換しても問題はありません。
# String
S2 = "3"
# Converting string to Int
number = int(S2)
print(number)
出力:
3