【python】(str to int)文字列を整数に変換する方法

python

pythonで文字列を整数に変換する方法を調べる人

pythonで文字列を整数に変換する方法を調べる人
「pythonで文字列を整数に変換する方法を知りたいのですが、どうすれば良いでしょうか。具体的な例として、コピペできるソースコードも欲しいです。」

こんな疑問を解決します。

結論から先に述べると、pythonで文字列を整数に変換するには、int関数を用います。

 
>>> int('100')
100
 

 

本記事の内容

  • 1.(int to str)文字列を整数に変換する
  • 2.(int to str)整数以外の文字を含む文字列では変換エラーとなる
  • 3.(int to str)整数に変換できるか判定する
  • 4.(int to str)変換エラーとなる文字列を整数に変換する

この記事を書いている私はIT業界歴12年、年収1,000万円ちょっとの金融系エンジニアです。学生時代から様々なプログラミング言語を扱ってきましたが、その中でもpythonはとても扱いやすく生産性も高く、オススメの言語です。

本記事では、pythonでint関数を用いて文字列を整数に変換する方法について解説します。

具体例を示し、細かい構文に迷ったときにコピー&ペーストして使えることも目指しました。少しでもお役に立てますと幸いです。

1.(int to str)文字列を整数に変換する

(int to str)文字列を整数に変換する

文字列を整数に変換する

 
>>> int('100')
100
 
>>> int('-10')
-10
 

2.(int to str)整数以外の文字を含む文字列では変換エラーとなる

ただし、整数に変換できない文字列が含まれているとint関数はエラーになります。

>>> int('100%')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: invalid literal for int() with base 10: '100%'

小数を意味する文字列も変換エラーになります。

>>> int('0.1')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: invalid literal for int() with base 10: '0.1'

計算式も変換エラーになります

>>> int('100+1')
Traceback (most recent call last):
  File "", line 1, in 
ValueError: invalid literal for int() with base 10: '100+1'

 

3.(int to str)整数に変換できるか判定する

整数に変換できるか判定するには、isdigit関数を使います。

>>> '100'.isdigit()
True
>>> '100%'.isdigit()
False
>>> '0.1'.isdigit()
False
>>> '100+1'.isdigit()
False

 

4.(int to str)変換エラーとなる文字列を整数に変換する

小数を表す文字列を整数に変換する

整数に変換できるか判定するには、isdigit関数を使います。

>>> #小数はint関数で変換できないが、float型には変換できる
>>> float('0.1')
0.1

>>> #float型からint型に変換する
>>> int(float('0.001'))
0
>>> int(float('9.11'))
9
>>> int(float('-20.9'))
-20

 

計算式を表す文字列を整数に変換する

計算式を整数に変換するには、eval関数を使います。整数にならない場合は、さらにint関数を使って整数に変換します。

>>> eval('100+1')
101
>>> int(eval('100/3'))
33
>>> eval('12**2')
144

 

おわりに

今回は以上です。参考になりましたら幸いです。

pythonは自動車、半導体メーカーなどでも使われています