Python 字串 isdecimal() 方法



Python 字串isdecimal() 方法檢查字串是否僅包含十進位制數字 (0-9)。此方法僅適用於 Unicode 物件。

但是什麼是 Unicode 物件?在 Python 中,Unicode 字串或 Unicode 物件在使用記憶體效率的同時處理完整的 Unicode 字元範圍。這些 Unicode 字串根據使用的編譯器或直譯器的型別,要麼是 16 位,要麼是 32 位整數。它們也具有與普通 Python 字串相同的方法。

注意 - 要將字串定義為 Unicode,只需在賦值語句的開頭引號前新增一個 'u'。我們將在本文後面看到示例。

語法

以下是 Python 字串isdecimal() 方法的語法:

str.isdecimal()

引數

此方法不接受任何引數。

返回值

如果字串中的所有字元都是十進位制數字,則此方法返回 True,否則返回 False。但是,有一些特殊情況;它們是:

  • 如果十進位制數字以上標或下標形式存在,則該方法返回 False
  • 如果給定的引數是羅馬數字或貨幣數字,則該方法返回 False

示例

當給定的字串包含所有十進位制字元時,該方法返回 True。

在以下示例中,我們建立一個僅包含十進位制字元的字串。Python 字串 isdecimal() 方法在此字串上呼叫,返回值為 True。

str = u"23443434"
print(str.isdecimal())

當我們執行上述程式時,它會產生以下結果:

True

示例

當給定的字串包含所有十進位制字元時,該方法返回 True。

在此示例中,我們建立一個包含十進位制字元以外的字元的字串作為輸入。然後在此字串上呼叫 isdecimal() 方法,返回值將為 False。

str = u"this2009" 
print(str.isdecimal())

當我們執行上述程式時,它會產生以下結果:

False

示例

如果字串包含上標或下標中的十進位制數字,則該方法返回 False。

在下面的示例中,輸入字串包含所有十進位制值,但它包含上標形式的十進位制數,以 Unicode 程式碼點表示。isdecimal() 方法在此字串上呼叫,返回值將為 False。

str = u"\u20783434"
print(str.isdecimal())

編譯並執行程式後,輸出結果如下:

False

示例

如果字串包含羅馬數字或貨幣數字,則該方法返回 false。

下面的示例採用一個輸入字串,其字元為羅馬數字的 Unicode 程式碼點。在此字串上呼叫該方法,返回值為 False。

str = u"\u21623434"
print(str.isdecimal())

編譯並執行程式,以生成以下結果:

False
python_strings.htm
廣告