如何检查字符串是否为数字(浮点数)?
2022-09-05 00:50:50
如何检查字符串是否可以在Python中表示为数字?
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
以上有效,但似乎很笨拙。
如何检查字符串是否可以在Python中表示为数字?
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
以上有效,但似乎很笨拙。
仅对于非负(无符号)整数,请使用 isdigit()
:
>>> a = "03523"
>>> a.isdigit()
True
>>> b = "963spam"
>>> b.isdigit()
False
文档 : Python2, Python3isdigit()
对于 Python 2 Unicode 字符串:isnumeric()
。
这不仅是丑陋和缓慢的
我会对这两者提出异议。
正则表达式或其他字符串解析方法会更丑陋,更慢。
我不确定有任何东西可以比上面更快。它调用该函数并返回。Try/Catch 不会引入太多开销,因为最常见的异常是在未对堆栈帧进行广泛搜索的情况下捕获的。
问题是任何数字转换函数都有两种结果。
C(作为一个例子)通过多种方式对此进行了黑客攻击。Python清晰明确地阐述了它。
我认为你这样做的代码是完美的。