如何在Python中检查字符串中是否包含数字值?

时间:2012-09-17 19:41:54

标签: python string int converter

  

可能重复:
  How do I check if a string is a number in Python?
  Python - Parse String to Float or Int

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

2 个答案:

答案 0 :(得分:46)

使用.isdigit() method

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

引用文档:

  

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

对于unicode字符串或Python 3字符串,您需要使用更精确的定义并使用unicode.isdecimal() / str.isdecimal()代替;并非所有Unicode数字都可解释为十进制数字。 U+00B2 SUPERSCRIPT 2是一个数字,但不是小数,例如。

答案 1 :(得分:32)

您可以随时try

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

请注意,如果您想知道是否可以使用isdigit

将字符串转换为浮点数,则此方法优于float