Pythonで文字列を整数に変換する方法

組み込みstr()メソッドと同様に、Pythonにint()は、文字列オブジェクトを引数として取り、整数を返す便利なメソッドも用意されています。

使用例:

# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)

出力:

18 18

出力は視覚的には似ていますが、最初の行は文字列オブジェクトであり、次の行は整数オブジェクトであることに注意してください。これは、次の例でさらに説明されています。

age = "18" print(age + 2)

出力:

Traceback (most recent call last): File "", line 1, in  TypeError: cannot concatenate 'str' and 'int' objects

エラーは、ageオブジェクトに何かを追加する前に、オブジェクトを整数に変換する必要があることを明確にするはずです。

age = "18" age_int = int(age) print(age_int + 2)

出力:

20

ただし、次の特殊なケースに注意してください。

  • 引数としての浮動小数点(小数部分を持つ整数)は、最も近い整数に切り捨てられた浮動小数点を返します。例::print(int(7.9))を出力します7。一方、print(int("7.9"))文字列オブジェクトとしてのfloatは整数に変換できないため、エラーが発生します。
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • 引数として指定された単語は同じエラーを返します。たとえば、次のprint(int("one"))ようになります。
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'