Python | isdigit()で文字列型の値が数値かどうか判定する方法

2023-02-11Python 判別・判定,Python

Python | isdigit()で文字列型の値が数値かどうか判定する方法

Pythonのisdigit()メソッドを使って文字列型の値が数値かどうか判定する方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

文字列型の値が数値かどうか判定する

Pythonで文字列型の値が数値かどうか判別するにはisdigit()メソッドが利用できます。

isdigit()メソッドは指定された値が整数のみで構成されているかどうかを判定し、ture または false を返します。

str = "12345"
if str.isdigit():
	print('true')
else:
	print('false')

# ture

値が整数のみで構成されていない場合は fasle を返します。

str = "abcde"
if str.isdigit():
	print('true')
else:
	print('false')

# false

浮動小数点を含む数値かどうかを判定する

isdigit()メソッドは浮動小数点を含む数値は false を返しますので、判定に浮動小数点のある数値を含める場合は、float() 関数を使って成否を判定する方法があります。

isdigit()で整数かどうかを判定した後、try…except文でfloat()関数を実行して浮動小数点を含んだ数値かどうかを判定します。

float()関数は文字列を浮動小数点数への変換を試みて、成功すれば結果を失敗した場合はValueErrorエラーを出力しますので、エラーとなったかどうかで判定しています。

str = '12345.6'
if str.isdigit():
	print('true')
else:
	try:
		float(str)
		print('true')
	except ValueError:
		print('false')