在Python中,字符串对象有一个方法叫做 isdecimal()
。这个方法用于检查字符串中的所有字符是否都是十进制数字(0-9),它只会识别标准的ASCII十进制数字字符。如果字符串中的所有字符都是十进制数字,并且字符串至少包含一个字符,那么 isdecimal()
方法将返回 True
,否则返回 False
。
这里有一个简单的例子:
s1 = "12345" | |
print(s1.isdecimal()) # 输出: True | |
s2 = "123.45" | |
print(s2.isdecimal()) # 输出: False,因为包含了点号 | |
s3 = "123abc" | |
print(s3.isdecimal()) # 输出: False,因为包含了非数字字符 | |
s4 = "" | |
print(s4.isdecimal()) # 输出: False,因为字符串是空的 | |
s5 = "012345" # 注意这是全角数字 | |
print(s5.isdecimal()) # 输出: False,因为虽然看起来像数字,但实际上是全角字符 |
需要注意的是,isdecimal()
方法只检查十进制数字字符,并且不考虑字符串中的空白字符(如空格、制表符或换行符)。如果字符串中包含任何空白字符或其他非十进制数字字符,isdecimal()
方法将返回 False
。
此外,还要注意的是,isdecimal()
方法与 isdigit()
方法有些不同。虽然两者都用于检查字符串是否只包含数字字符,但 isdigit()
方法还包括了一些非标准的数字字符,如Unicode中的某些数字字符。而 isdecimal()
方法则更严格地只检查标准的十进制数字字符(0-9),它只会识别标准的ASCII十进制数字字符。