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.
大家對此有什么疑問或對此內容有懷疑請在評論區留言評論。
新聞熱點
疑難解答