我如何在不使用try/except的情况下检查字符串是否表示一个整数?
我如何在不使用try/except的情况下检查字符串是否表示一个整数?
有没有什么方法可以判断一个字符串是否表示一个整数(例如\'3\'
,\'-17\'
而不是\'3.14\'
或\'asfasfas\'
)而不使用try/except机制?
is_int('3.14') == False is_int('-7') == True
admin 更改状态以发布 2023年5月21日
对于正整数,您可以使用.isdigit
函数:
>>> '16'.isdigit() True
但对于负整数,这个函数就无效了。不过,您可以尝试以下方法:
>>> s = '-17' >>> s.startswith('-') and s[1:].isdigit() True
它不适用于'16.0'
这样的格式,这与int
类型转换类似。
编辑:
def check_int(s): if s[0] in ('-', '+'): return s[1:].isdigit() return s.isdigit()