有没有办法判断一个字符串是否代表一个整数(例如,'3'
、'-17'
但不是'3.14'
或 'asfasfas'
) 不使用 try/except 机制?
is_int('3.14') == False
is_int('-7') == True
最佳答案
对于正整数,您可以使用 .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()
关于python - 如何在不使用 try/except 的情况下检查字符串是否表示 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1265665/