题目:
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
方法一:
import re
def number(s):
m = "[+-]?[0-9]*([.][0-9]*)?([eE][+-]?[0-9]+)?"
if re.match(m, s).group() == s:
return True
else:
return False
方法二:
def number(s):
try:
p = float(s)
return True
except:
return False
缺点:类似于“e4”这样的数字会判断错误