New submission from de la Musse:
locale.format function delete spaces in result which is a problem when
thousand separator is space (in French for example).
The problem seems in the code below (extract from locale.py):
145 while seps:
146 # If the number was formatted for a specific width, then it
147 # might have been filled with spaces to the left or right. If
148 # so, kill as much spaces as there where separators.
149 # Leading zeroes as fillers are not yet dealt with, as it is
150 # not clear how they should interact with grouping.
151 sp = result.find(" ")
152 if sp==-1:break
153 result = result[:sp]+result[sp+1:]
154 seps -= 1
Example :
>>> import locale
>>> locale.setlocale(locale.LC_NUMERIC)
'C'
>>> locale.setlocale(locale.LC_NUMERIC, "fr_FR.UTF-8")
'fr_FR.UTF-8'
>>> locale.format("%.2f", 12345.67, True)
'12345,67'
The correct result is '12 345,67' not '12345,67'
and if I call
>>> locale.format("%9.2f", 12345.67, True)
'12 345,67'
the result is correct
Is this behavior correct or a bug?
----------
nosy: +edlm10
__________________________________
Tracker <[EMAIL PROTECTED]>
<http://bugs.python.org/issue1222>
__________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com