python判断一个字符串是否为数字的三种方法:isdecimal()
、isdigit()
、isnumeric()
序号 | 方法 | 说明 |
---|---|---|
1 | string.isdecimal() | 如果string只包含数字,则返回True,全角数字 |
2 | string.isdigit() | 如果string只包含数字,则返回True,全角数字、①②(1) 、\u00b2 |
3 | string.isnumeric() | 如果string只包含数字,则返回True,全角数字、汉字数字 |
isdecimal()演示
# 1. 纯数字
string1 = '123'
print(string1.isdecimal())
print(string1.isdigit())
print(string1.isnumeric())
# > True
# > True
# > True
isdigit()演示
# 2. unicode字符
string2_1 = '1'
string2_2 = '①②'
string2_3 = "\u00b2"
print(string2_1.isdecimal(), string2_2.isdecimal(), string2_3.isdecimal())
print(string2_1.isdigit(), string2_2.isdigit(), string2_3.isdigit() )
print(string2_1.isnumeric(), string2_2.isnumeric(), string2_3.isnumeric())
# > True False False
# > True True True
# > True True True
isnumeric()演示
# 3. 中文数字
string3_1 = "一千零一"
string3_2 = "壹贰叁"
print(string3_1.isdecimal(), string3_2.isdecimal())
print(string3_1.isdigit(), string3_2.isdigit() )
print(string3_1.isnumeric(), string3_2.isnumeric())
# > False False
# > False False
# > True True