在python中检查字符串是不是为数字[重复]
Posted
技术标签:
【中文标题】在python中检查字符串是不是为数字[重复]【英文标题】:checking string is number or not in python [duplicate]在python中检查字符串是否为数字[重复] 【发布时间】:2014-02-22 08:31:03 【问题描述】:以下哪项是检查字符串是否可以表示为数字的最佳方法?
一)
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
b)
Import re
check_regexp = re.compile(“^\d*\.?\d*$”)
c)
def isNumber(token):
for char in token:
if not char in string.digits: return false
return True
d)
import re
check_replace = lambda x: x.replace(‘.’,’’,1).isdigit()
【问题讨论】:
这应该会有所帮助:***.com/questions/354038/… 【参考方案1】:所有四个版本都做不同的事情。由于第一个版本是唯一能够正确处理负片的版本,因此我几乎在所有情况下都更喜欢它。即使调整其他版本以返回与第一个版本相同的值,为了清楚起见,我更喜欢第一个版本。但是,如果输入格式需要比float
接受的格式更严格,可能不允许像'123e+4'
这样的输入,那么正确编写的正则表达式可能是最简单的解决方案。
【讨论】:
【参考方案2】:你可以使用这个 Python 代码,它会发现字符串是数字或浮点值。
def typeofvalue(text):
try:
int(text)
return 'int'
except ValueError:
pass
try:
float(text)
return 'float'
except ValueError:
pass
return 'str'
typeofvalue("1773171")
【讨论】:
以上是关于在python中检查字符串是不是为数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章