45

可能重复:
如何在 Python 中检查字符串是否为数字?
Python - 将字符串解析为浮点数或整数

例如,我想检查一个字符串,如果它不能转换为整数(带int()),我该如何检测呢?

4

2 回答 2

49

使用.isdigit()方法

>>> '123'.isdigit()
True
>>> '1a23'.isdigit()
False

引用文档:

如果字符串中的所有字符都是数字并且至少有一个字符,则返回 true,否则返回 false。

For unicode strings or Python 3 strings, you'll need to use a more precise definition and use the unicode.isdecimal() / str.isdecimal() instead; not all Unicode digits are interpretable as decimal numbers. U+00B2 SUPERSCRIPT 2 is a digit, but not a decimal, for example.

于 2012-09-17T19:43:29.177 回答
33

你总是try可以的:

try:
   a = int(yourstring)
except ValueError:
   print "can't convert"

请注意,isdigit如果您想知道是否可以使用以下方法将字符串转换为浮点数,则此方法更胜一筹float

于 2012-09-17T19:42:49.380 回答