Issue 3140: str.format("{0:n}") poss. bug with setlocale() (original) (raw)
Python 30b1
import locale locale.setlocale(locale.LC_ALL, "en_US.UTF-8") 'en_US.UTF-8' for x in (1234,12345,123456,1234567,12345678,123456789,1234567890,12345678900): print("[{0:>20n}]".format(x))
[ 1,234] [ 12,345] [ 123,456] [ 1,234,567] [ 12,345,678] [ 123,456,789] [ 1,234,567,890] [ 12,345,678,900]
I expected that the commas would not increase the width, but maybe this was the intended behaviour?
Fixed in r64499 (trunk) and r64500 (py3k).
I now get:
import locale locale.setlocale(locale.LC_ALL, "en_US.UTF-8") 'en_US.UTF-8' for x in (123,1234,12345,123456,1234567,12345678,123456789,1234567890,12345678900): ... print("[{0:>20n}]".format(x)) ... [ 123] [ 1,234] [ 12,345] [ 123,456] [ 1,234,567] [ 12,345,678] [ 123,456,789] [ 1,234,567,890] [ 12,345,678,900]
and:
for x in (123,1234,12345,123456,1234567,12345678,123456789,1234567890,12345678900): ... print("[{0:>10n}]".format(x)) ... [ 123] [ 1,234] [ 12,345] [ 123,456] [ 1,234,567] [12,345,678] [123,456,789] [1,234,567,890] [12,345,678,900]