checking string is number or not in python
本问题已经有最佳答案,请猛点这里访问。
以下哪项是检查字符串是否可以表示为数字的最佳方法?
a)
1 2 3 4 5 6 | def is_number(s): try: float(s) return True except ValueError: return False |
b)
1 2 | Import re check_regexp = re.compile("^\d*\.?\d*$") |
c)
1 2 3 4 | def isNumber(token): for char in token: if not char in string.digits: return false return True |
d)
1 2 | import re check_replace = lambda x: x.replace(‘.’,’’,1).isdigit() |
这四个版本都有不同的功能。因为第一个版本是唯一一个正确处理底片的版本,所以在几乎所有情况下我都喜欢它。即使其他版本被调整为返回与第一个版本相同的值,为了清晰起见,我还是更喜欢第一个版本。但是,如果输入格式需要比
你可以用这个python代码,它会发现字符串是数字还是浮点值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | def typeofvalue(text): try: int(text) return 'int' except ValueError: pass try: float(text) return 'float' except ValueError: pass return 'str' typeofvalue("1773171") |