我得到了不同的字符串,有些是数字,例如:"1“、"afd76”、"dddd“、"521129”和"0.1423105“。我需要检查这些号码是否有效,然后才能继续。在上面的例子中,除了"afd76“和"dddd”之外,都是数字。
因为它们只能验证字符串是否为int,所以不能这样做,例如:
"3".isdigit() is true but "3.0".isdigit() is false
"3".isnumeric() is true but "3.0".isnumeric() is false 除了强制转换和根据异常决定该做什么之外,是否有任何优雅的方法来完成此检查?
发布于 2022-07-26 20:08:10
您可以尝试将字符串转换为浮点数:
def is_number(num):
try:
float(num)
return True
except ValueError:
return False示例:
>>> is_number('123')
True
>>> is_number('123a')
False
>>> is_number('123.12')
True
>>> is_number('3.0')
Truehttps://stackoverflow.com/questions/73129158
复制相似问题