Python String isnumeric() 方法
isnumeric() 方法检测字符串是否只由数字组成,数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字。
指数类似 ² 与分数类似 ½ 也属于数字。
# s = '½'
s = '\u00BD'
Python String isnumeric() 语法
isnumeric()方法语法:
str.isnumeric()
Python String isnumeric() 参数
- 无。
Python String isnumeric() 返回值
如果字符串中只包含数字字符,则返回 True,否则返回 False
Python String isnumeric() 示例1
以下实例展示了 isnumeric() 方法的实例:
#!/usr/bin/python3
str1 = "apidemos2022"
print (str1.isnumeric())
str = "13567895432"
print (str1.isnumeric())
输出:
Python String isnumeric() 示例2
Unicode 数字:
#!/usr/bin/python3
#s = '²3455'
s = '\u00B23455'
print(s.isnumeric())
# s = '½'
s = '\u00BD'
print(s.isnumeric())
a = "\u0030" #unicode for 0
print(a.isnumeric())
b = "\u00B2" #unicode for ²
print(b.isnumeric())
c = "10km2"
print(c.isnumeric())
输出:
Python String isnumeric() 示例3
str.isdecimal()
与str.isdigit()
的区别。
str.isdecimal()
函数只对十进制数返回 True,同时函数 str.isdigit()
对其他 unicode 支持的字符返回 True。
详细的内容可以使用以下代码输出:
import itertools
line = '-' * 37
print(line)
print("| № | isdigit | isdecimal | chr")
print(line)
for number in itertools.chain(range(1000), range(4969, 4978), range(8304, 11000)):
char = chr(number)
if (char.isdigit() or char.isdecimal()):
print('| {0:>6} | {1:^7} | {2:^9} | {3:3} '.format(
number,
'+' if char.isdigit() else '-',
'+' if char.isdecimal() else '-',
char
)
)
输出: