如何检查字符串是否仅包含十进制字符?

isdigit()String类中有一个方法,如果字符串中的所有字符都是数字并且至少有一个字符,则返回true,否则返回false。您可以这样称呼它:

>>> "12345".isdigit()
True
>>> "12345a".isdigit()
False

但这对于浮点数将失败。我们可以对这些数字使用以下方法:

def isfloat(value):
  try:
    float(value)
    return True
  except ValueError:
    return False
isfloat('12.345')
isfloat('12a')
This will give the output:
True
False

您也可以将正则表达式用于相同的结果。对于匹配的小数,我们可以使用正则表达式调用re.match(regex,string):“ ^ \ d +?\。\ d +?$”。例如,

>>> bool(re.match("^\d+?\.\d+?$", '123abc'))
False
>>> bool(re.match("^\d+?\.\d+?$", '12.345'))
True