Python字符串isdecimal()
时间:2020-02-23 14:43:27 来源:igfitidea点击:
如果字符串中的所有字符均为十进制字符,则Python String isdecimal()函数将返回True,否则为False。
如果字符串为空,则此函数返回False。
Python字符串isdecimal()
如果一个字符可用于以10为底的数字,则该字符被视为十进制字符。
例如,٠(U + 0660,ARABIC-INDIC DIGIT ZERO)和? (U + 1D7DC,数学双打击数字四)也被视为十进制字符。
让我们看一下isdecimal()函数的一些示例。
s = '100' print(s.isdecimal())
输出:True,因为字符串中的所有字符都是小数。
s = '0xF' print(s.isdecimal())
输出:False,因为字符串不是十进制,并且不能用于以10为底的数字。
s = '10.55' print(s.isdecimal())
输出:False
,因为点字符不是十进制字符。
s = '' print(s.isdecimal())
输出:False
,因为字符串为空。
s = '1٠2?' # U+0660, U+1D7DC print(s.isdecimal()) print(int(s))
输出:
True 1024
在Python中打印所有十进制字符
我们可以使用unicode
模块来检查一个字符是否为十进制。
这是打印所有十进制Unicode字符的程序。
import unicodedata count = 0 for codepoint in range(2 ** 16): ch = chr(codepoint) if ch.isdecimal(): print(u'{:04x}: {} ({})'.format(codepoint, ch, unicodedata.name(ch, 'UNNAMED'))) count = count + 1 print(f'Total Number of Decimal Unicode Characters = {count}')
输出:
... ff15: 5 (FULLWIDTH DIGIT FIVE) ff16: 6 (FULLWIDTH DIGIT SIX) ff17: 7 (FULLWIDTH DIGIT SEVEN) ff18: 8 (FULLWIDTH DIGIT EIGHT) ff19: 9 (FULLWIDTH DIGIT NINE) Total Number of Decimal Unicode Characters = 370