Python String isdecimal() 方法



Python 字符串 isdecimal() 方法检查字符串是否仅包含小数 (0-9)。此方法仅适用于 Unicode 对象。

但什么是 Unicode 对象呢?在 python 中,Unicode 字符串或 Unicode 对象在有效使用内存的同时处理所有 Unicode 字符范围。这些 Unicode 字符串是 16 位或 32 位整数,具体取决于所使用的编译器或解释器的类型。它们还具有与普通 Python 字符串相同的方法。

注 − 要将字符串定义为 Unicode,只需在赋值的左引号前加上“u”即可。我们将在本文中进一步看到这些示例。

语法

以下是 Python String isdecimal() 方法的语法 -


 str.isdecimal()

参数

此方法不接受任何参数。

返回值

如果字符串中的所有字符都是十进制字符,则此方法返回 true,否则返回 false。但是,也有一些特殊情况;他们是 -

  • 如果小数以上标或下标形式出现,则该方法返回 false
  • 如果给定的参数是罗马数字或货币数字,则该方法返回 false

当给定字符串包含所有十进制字符时,该方法返回 true。

在以下示例中,我们创建一个仅包含十进制字符的字符串。在此字符串上调用 Python String 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