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