Python で文字列が数値を表しているかどうかを確認するにはどうすればよいですか?
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
上記は機能しますが、扱いにくいようです。
テスト対象がユーザー入力である場合、それがまたはを表していても、それは文字列です。int
float
入力を数値として読み取るにはどうすればよいですか?入力を変換し、有効な回答が得られるまでユーザーに入力を求める続行する前に、入力が または (またはその他の要件) を表していることを確認しint
ますfloat
。
ベストアンサー1
非負(符号なし)整数の場合のみ、isdigit()
:
>>> a = "03523"
>>> a.isdigit()
True
>>> b = "963spam"
>>> b.isdigit()
False
ドキュメントisdigit()
:Python2、Python3
Python 2 Unicode 文字列の場合:isnumeric()
。