
不知道怎么去判断当e出现时例如010e-1也可以转换成浮点数,只会判断算是数字或者全都是字母之类的
import re
# 方法1
_float_regexp = re.compile(r"^[-+]?(?:\b[0-9]+(?:\.[0-9]*)?|\.[0-9]+\b)(?:[eE][-+]?[0-9]+\b)?$").match
def is_float_re(string):
return True if _float_regexp(string) else False
# 方法二
def is_float_type(string):
try:
if isinstance(eval(string), (float, int)):
return True
return False
except:
return False
while True:
string = input("请输入一个数字:")
print(is_float_re(string))
print(is_float_type(string))