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