重複の可能性:
Python で文字列が数値かどうかを確認するにはどうすればよいですか?
Python - 文字列を解析して Float または Int にする
たとえば、文字列をチェックしたいのですが、(with でint()
) 整数に変換できない場合、どうすればそれを検出できますか?
重複の可能性:
Python で文字列が数値かどうかを確認するにはどうすればよいですか?
Python - 文字列を解析して Float または Int にする
たとえば、文字列をチェックしたいのですが、(with でint()
) 整数に変換できない場合、どうすればそれを検出できますか?
.isdigit()
メソッドを使用します。
>>> '123'.isdigit()
True
>>> '1a23'.isdigit()
False
ドキュメントの引用:
文字列内のすべての文字が数字で、少なくとも 1 文字ある場合は true を返し、そうでない場合は false を返します。
文字列または Python 3 文字列の場合unicode
は、より正確な定義を使用し、代わりにunicode.isdecimal()
/を使用する必要があります。str.isdecimal()
すべての Unicode 数字が 10 進数として解釈できるわけではありません。たとえば、 U+00B2 SUPERSCRIPT 2は数字ですが、10 進数ではありません。
あなたはいつでもtry
それをすることができます:
try:
a = int(yourstring)
except ValueError:
print "can't convert"
isdigit
を使用して文字列を浮動小数点数に変換できるかどうかを知りたい場合は、この方法が優れていることに注意してください。float