Python中isdecimal()函数的作用是检查一个字符串是否仅有十进制的数字字符构成。如果是则返回True,否则返回False.
如果一个字符串中包含除十进制数字之外的字符,如空字符串、空格、标点符号、小数点等字符都会认为为False.
string_name.isdecimal()
string_name可以是直接给出的字符串或字符串变量。
该函数没有参数。
该函数返回逻辑值:True或False.
1、仅有数字构成的字符串
str1 = "1234"
print(str1.isdecimal())
输出:True
2、带小数点的情形
str1 = "12.34"
print(str1.isdecimal())
输出:False
3、二进制、八进制或十六进制的数字
str1 = "0b1001"
print(str1.isdecimal())
str1 = "0o17"
print(str1.isdecimal())
str1 = "0X9F"
print(str1.isdecimal())
输出:
False
False
False
以上几个例子在Python3.8.2中的运行情况如下图所示:
4、含有其他字符的字符串
str1 = "abc123"
print(str1.isdecimal())
str1 = "123abc"
print(str1.isdecimal())
输出:
False
False
5、分数形式及全角数字
str1 = "2/3"
print(str1.isdecimal())
str1 = "12345"
print(str1.isdecimal())
输出:
False
True
以上几例在Python3.8.2中执行的情况如下图所示:
6、罗马数字,汉字数字等
str1 = "ⅠⅡⅢ"
print(str1.isdecimal())
str1 = "一二一"
print(str1.isdecimal())
str1 = "①②③"
print(str1.isdecimal())
执行情况如下图所示:
7、空字符串,包含空格的字符串
str1 = ""
print(str1.isdecimal())
str1 = "12 3"
print(str1.isdecimal())
输出:
False
False
从以上各个例子中可以看出,isdecimal()函数对于是由[0-9]十个字符构成的字符串,且这个字符串不管是全角的字符还是半角的字符,都返回True,其它情况都会返回False.
大家对此有什么疑问或对此内容有怀疑请在评论区留言评论。
新闻热点
疑难解答