Mark Dickinson <dicki...@gmail.com> added the comment: [Steven posted his answer while I was composing mine; posting mine anyway ...]
I don't think this would make sense. There are lots of characters that can't be interpreted as a decimal digit but for which `isnumeric` nevertheless gives True. >>> s = "㉓⅗⒘Ⅻ" >>> for c in s: print(unicodedata.name(c)) ... CIRCLED NUMBER TWENTY THREE VULGAR FRACTION THREE FIFTHS NUMBER SEVENTEEN FULL STOP ROMAN NUMERAL TWELVE >>> s.isnumeric() True What value would you expect `int(s)` to have in this situation? Note that `int` and `float` already accept non-ASCII digits: >>> s = "١٢٣٤٥٦٧٨٩" >>> int(s) 123456789 >>> float(s) 123456789.0 ---------- nosy: +mark.dickinson _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36100> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com