📌  相关文章
📜  如何知道字符串是否为数字 python (1)

📅  最后修改于: 2023-12-03 15:24:52.759000             🧑  作者: Mango

如何知道字符串是否为数字?

在Python中,有多种方法可以判断一个字符串是否为数字。下面介绍其中的几种方式。

1. 使用 isdigit()

Python内置的字符串方法 isdigit() 可以用于判断一个字符串是否只包含数字字符。例如:

s = '123'
print(s.isdigit())  # True

s = 'a123'
print(s.isdigit())  # False

需要注意的是,isdigit() 方法只能判断整数。

2. 使用 isnumeric()

isdigit() 方法类似,isnumeric() 方法也可以用于判断一个字符串是否只包含数字字符,但是它可以识别更多类型的数字字符。例如:

s = '123'
print(s.isnumeric())  # True

s = '½'
print(s.isnumeric())  # True

需要注意的是,isnumeric() 方法同样只能判断整数。

3. 使用 isdecimal()

isdigit()isnumeric() 不同,isdecimal() 方法只能用于判断一个字符串是否只包含十进制数字字符。例如:

s = '123'
print(s.isdecimal())  # True

s = '½'
print(s.isdecimal())  # False

需要注意的是,isdecimal() 方法同样只能判断整数。

4. 使用 try...except...

如果需要判断字符串是否为整数或浮点数,并得到其具体的值,可以使用 try...except... 块。例如:

s = '123'
try:
    i = int(s)
    print(i)  # 123
except ValueError:
    pass

s = '1.23'
try:
    f = float(s)
    print(f)  # 1.23
except ValueError:
    pass

s = 'a123'
try:
    i = int(s)
    print(i)
except ValueError:
    pass

需要注意的是,如果字符串不能转换为对应的数字类型,会抛出 ValueError 异常。

以上就是几种判断字符串是否为数字的方法,根据情况选择适合自己的方法即可。