[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 |