python - 如何在不使用 try/except 的情况下检查字符串是否表示 int?

标签 python string integer

有没有办法判断一个字符串是否代表一个整数(例如,'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/

相关文章:

python - 无法在 jupyter 中导入 matplotlib.pyplot(但不是 ipython)

java - 从另一个类获取字符串正在传递 null

c# - string.Format 和单词 "Password"

java - 如何判断 Java 整数是否为空?

python - root用户执行失败

python - 如何在 Python3 中将 'binary string' 转换为普通字符串?

python - Django 切断上传的文件

php - 在PHP中将数字(1、2、3)转换为字符串(一、二、三)

Java RegEx - 对于不包含 "."的整数

将整数转换为二进制的Python代码