Stefan Krah <stefan-use...@bytereef.org> added the comment: In python3.2, the output of decimal looks good. With float, the separator is printed as two spaces on my Unicode terminal (export LC_ALL=cs_CZ.UTF-8).
So decimal (3.2) interprets the separator string as a single UTF-8 char and the final output is a UTF-8 string. I'd say that in C, this is the intended way of using struct lconv. If there is an agreement that the final output should be a UTF-8 string, this looks correct to me. Python 3.2a0 (py3k:76081M, Nov 6 2009, 15:23:48) [GCC 4.1.3 20080623 (prerelease) (Ubuntu 4.1.2-23ubuntu3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import locale, decimal >>> locale.setlocale(locale.LC_NUMERIC, 'cs_CZ.UTF-8') 'cs_CZ.UTF-8' >>> x = format(decimal.Decimal("-1.5"), '019.18n') >>> y = format(float("-1.5"), '019.18n') >>> x '-0\xa0000\xa0000\xa0000\xa0001,5' >>> y '-0ᅡᅠ000ᅡᅠ000ᅡᅠ001,5' >>> print(x) -0 000 000 000 001,5 >>> print(y) -0ᅡᅠ000ᅡᅠ000ᅡᅠ001,5 >>> ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue7327> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com