文字列が数値(float または int)を表しているかどうかを確認するにはどうすればよいですか? 質問する

文字列が数値(float または int)を表しているかどうかを確認するにはどうすればよいですか? 質問する

Python で文字列が数値を表しているかどうかを確認するにはどうすればよいですか?

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False

上記は機能しますが、扱いにくいようです。


テスト対象がユーザー入力である場合、それがまたは表していても、それ文字列ですintfloat入力を数値として読み取るにはどうすればよいですか?入力を変換し、有効な回答が得られるまでユーザーに入力を求める続行する前に、入力が または (またはその他の要件) を表していることを確認しintますfloat

ベストアンサー1

非負(符号なし)整数の場合のみ、isdigit():

>>> a = "03523"
>>> a.isdigit()
True
>>> b = "963spam"
>>> b.isdigit()
False

ドキュメントisdigit():Python2Python3

Python 2 Unicode 文字列の場合:isnumeric()

おすすめ記事