我想区分真实数字和字符串数字
I want to distinguish between true digit and a string digit
我想提前检查一个'x'字符串是否是数字
'1'自然是数字
但是我很会用①所谓的串号。
不知道字符串数字的范围IDE判断为数字
'①'.isdigit()
returns 正确。
'⑴'.isdigit()
returns 正确。
'ⅰ'
或 'Ⅰ'
returns 错误。
'㈠'
returns 错误。 ((1)的汉字版本)
'❶'
returns 正确。
我想这样做。
for s in data:
if s.isdigit():
int_ = int(s)
如果我接受 '①'
,int
将抛出错误。现在,我为它写try:except。
因为我是日本人所以经常用'①'
或者'⑴'
如何预先区分isdigit和isdigit?
是靠try:except还是全部提前算好?
正则表达式?
主要问题是我不知道判断什么是数字
data = ["1", "23", "345", "①", "(1)", "(2)"]
此数据为动态值。每次都会更改。
而且,像这样的字符串以后可能会扩展
希望isdigit() == True
的字符串被int()
接受。
我没有紧急问题,因为 try: except.
我相信 str.isdecimal
方法符合您的要求。它排除了像 '①'
这样的字符串,但包括像 '١'
这样被 int
.
接受的其他字符串。
>>> int('١')
1
我想提前检查一个'x'字符串是否是数字
'1'自然是数字
但是我很会用①所谓的串号。
不知道字符串数字的范围IDE判断为数字
'①'.isdigit()
returns 正确。
'⑴'.isdigit()
returns 正确。
'ⅰ'
或 'Ⅰ'
returns 错误。
'㈠'
returns 错误。 ((1)的汉字版本)
'❶'
returns 正确。
我想这样做。
for s in data:
if s.isdigit():
int_ = int(s)
如果我接受 '①'
,int
将抛出错误。现在,我为它写try:except。
因为我是日本人所以经常用'①'
或者'⑴'
如何预先区分isdigit和isdigit?
是靠try:except还是全部提前算好?
正则表达式?
主要问题是我不知道判断什么是数字
data = ["1", "23", "345", "①", "(1)", "(2)"]
此数据为动态值。每次都会更改。
而且,像这样的字符串以后可能会扩展
希望isdigit() == True
的字符串被int()
接受。
我没有紧急问题,因为 try: except.
我相信 str.isdecimal
方法符合您的要求。它排除了像 '①'
这样的字符串,但包括像 '١'
这样被 int
.
>>> int('١')
1