using zope/pythons/page templates i need to format a float number to a
string like 10,250.10
(note the thousand separator and the trailing zero in the decimal)
i was able to use %0.2f bit that returned no thousand separator.
i was able to use thousands_commas function but that returned
"10,250.1" which is wrong.
any ideas?
thanks
alexander
>>> import locale
>>> locale.setlocale(locale.LC_ALL,('en','ascii'))
'en_US.ISO8859-1'
>>> locale.format('%.2f', 10250.10, True)
'10,250.10'
>>>
Alex
>>>> import locale
>>>> locale.setlocale(locale.LC_ALL,('en','ascii'))
> 'en_US.ISO8859-1'
Python 2.3 (#1, Jul 30 2003, 11:19:43)
[GCC 3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import locale
>>> locale.setlocale(locale.LC_ALL, ('de', None))
'de_DE.ISO8859-1'
It works :-)
And I always trusted the documentation/error message:
>>> locale.setlocale(locale.LC_ALL, 'de')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "locale.py", line 381, in setlocale
return _setlocale(category, locale)
locale.Error: locale setting not supported
>>>
The second (not working) variant is taken directly from the documentation.
The error message led me to assume that my version of Python didn't support
locale setting at all.
Maybe I should file a bug report?
Peter
Yes, I believe that the error message is potentially misleading, and
filing a bug report is a good way to have it fixed ASAP, thanks.
Alex