欢迎访问宙启技术站
智能推送

Python中用于判断字符串是否为数字的函数示例

发布时间:2023-06-23 03:58:35

Python中判断字符串是否为数字的函数有很多种,下面将分别介绍它们的用法和实现原理。

1. isdigit()

isdigit()函数可以判断一个字符串是否只包含数字字符。如果是,则返回True,否则返回False。

例如:

str1 = '123'
str2 = '12a3'
str3 = '一二三'

print(str1.isdigit())  # True
print(str2.isdigit())  # False
print(str3.isdigit())  # False

2. isnumeric()

isnumeric()函数可以判断一个字符串是否只包含数字字符,包括全角数字。如果是,则返回True,否则返回False。

例如:

str1 = '123'
str2 = '12a3'
str3 = '一二三'

print(str1.isnumeric())  # True
print(str2.isnumeric())  # False
print(str3.isnumeric())  # True

3. isdecimal()

isdecimal()函数可以判断一个字符串是否只包含数字字符,包括全角数字和数字字符。如果是,则返回True,否则返回False。

例如:

str1 = '123'
str2 = '12a3'
str3 = '一二三'

print(str1.isdecimal())  # True
print(str2.isdecimal())  # False
print(str3.isdecimal())  # False

4. isnumeric2()

基于Unicode字符集,使用正则表达式判断一个字符串是否只包含数字字符,包括全角数字和数字字符。如果是,则返回True,否则返回False。

实现代码如下:

import re

def isnumeric2(s):
    pattern = '^\d+$'
    if re.match(pattern, s):
        return True
    else:
        return False

str1 = '123'
str2 = '12a3'
str3 = '一二三'

print(isnumeric2(str1))  # True
print(isnumeric2(str2))  # False
print(isnumeric2(str3))  # False

5. isfloat()

判断一个字符串是否为浮点数。如果是,则返回True,否则返回False。

实现代码如下:

import re

def isfloat(s):
    pattern = '^\d+\.\d+$'
    if re.match(pattern, s):
        return True
    else:
        return False

str1 = '123.456'
str2 = '12.34.56'
str3 = '一二三'

print(isfloat(str1))  # True
print(isfloat(str2))  # False
print(isfloat(str3))  # False

以上就是Python中常用的判断字符串是否为数字的函数,具体使用时需要根据实际情况选择合适的函数。