在python中检查字符串是否为数字
以下哪项是检查字符串是否可以表示为数字的最佳方法 (a) (b) (c) (d)在python中检查字符串是否为数字,python,string,Python,String,以下哪项是检查字符串是否可以表示为数字的最佳方法 (a) (b) (c) (d) 您可以通过这个Python代码,它会发现字符串是数字或浮点值 def typeofvalue(text): try: int(text) return 'int' except ValueError: pass try: float(text) return 'float' except ValueEr
您可以通过这个Python代码,它会发现字符串是数字或浮点值
def typeofvalue(text):
try:
int(text)
return 'int'
except ValueError:
pass
try:
float(text)
return 'float'
except ValueError:
pass
return 'str'
typeofvalue("1773171")
这四个版本都有不同的功能。因为第一个版本是唯一一个正确处理负片的版本,所以我希望在几乎所有情况下都使用它。即使调整其他版本以返回与第一个版本相同的值,为了清晰起见,我还是更喜欢第一个版本。但是,如果输入格式需要比
float
接受的格式更严格,可能不允许像'123e+4'
这样的输入,那么正确编写正则表达式可能是最简单的解决方案。这应该有助于:
Import re
check_regexp = re.compile(“^\d*\.?\d*$”)
def isNumber(token):
for char in token:
if not char in string.digits: return false
return True
import re
check_replace = lambda x: x.replace(‘.’,’’,1).isdigit()
def typeofvalue(text):
try:
int(text)
return 'int'
except ValueError:
pass
try:
float(text)
return 'float'
except ValueError:
pass
return 'str'
typeofvalue("1773171")