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
广告