I come across a strange problem dealing with python isdigit function.

For example:

>>> a = u'\u2466'
>>> a.isdigit()
Out[1]: True
>>> a.isnumeric()
Out[2]: True

Why this character is a digit?

Any way to make this return False instead, thanks?


Edit, If I don't want to treat it as a digit, then how to filter it out?

For example, when I try to convert it to a int:

>>> int(u'\u2466')

Then UnicodeEncodeError happened.

Edit
Report