Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

howto format currency string?

1 view
Skip to first unread message

adegreiff

unread,
Aug 29, 2003, 8:01:36 AM8/29/03
to
hi,

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

Alex Martelli

unread,
Aug 29, 2003, 8:09:40 AM8/29/03
to
adegreiff wrote:

>>> import locale
>>> locale.setlocale(locale.LC_ALL,('en','ascii'))
'en_US.ISO8859-1'
>>> locale.format('%.2f', 10250.10, True)
'10,250.10'
>>>


Alex

Peter Otten

unread,
Aug 29, 2003, 9:38:06 AM8/29/03
to al...@aleax.it

Alex Martelli wrote:

>>>> 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

Alex Martelli

unread,
Aug 29, 2003, 10:14:50 AM8/29/03
to
Peter Otten wrote:
...

>>>> 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?

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

0 new messages