Ezio Melotti <ezio.melo...@gmail.com> added the comment: I think float() should support non-ascii digits but I agree that it would be better to avoid UnicodeErrors and convert them to ValueErrors so that
>>> float('١٢٣٤.٥٦') 1234.56 and >>> float('½') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for float(): ½ I.e. float should do the C equivalent of: try: s = arg.encode('decimal') except UnicodeEncodeError: raise ValueError('Invalid liter for float(): {}'.format(arg)) Note that int() and Decimal() supports non-ascii chars too. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue10557> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com