如何检查字符串是否表示数字(浮点数或整数)?
如何检查字符串是否表示数字(浮点数或整数)?
如何在Python中检查一个字符串是否代表一个数值?
def is_number(s): try: float(s) return True except ValueError: return False
上面的方法可以工作,但它看起来有点笨重。
如果你要测试的内容来自用户输入,即使它表示一个int
或float
,它仍然是一个字符串。请参见如何将输入读取为数字?来转换输入,并参见要求用户输入,直到他们给出有效的响应来确保输入代表一个int
或float
(或其他要求)然后再进行操作。
admin 更改状态以发布 2023年5月22日
仅适用于非负(无符号)整数,请使用isdigit()
:
>>> a = "03523" >>> a.isdigit() True >>> b = "963spam" >>> b.isdigit() False
对于Python 2 Unicode字符串:使用isnumeric()
。