Разделитель тысяч в строке формата с числами

Я хочу иметь разделители тысяч в числах с плавающей запятой. Я делаю следующее::

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
'en_US.UTF-8'
>>> print '{0:n}'.format(123456.0)
123,456

Когда целая часть состоит из 7 или более цифр, она не работает:

>>> print '{0:n}'.format(1234567.0)
1.23457e+06

Обходной путь, который я нашел, заключается в том, чтобы преобразовать число с плавающей запятой в целое перед форматированием:

>>> print '{0:n}'.format(int(1234567.0))
1,234,567

Существует ли строка формата, которая обрабатывать все числа с плавающей запятой без необходимости сначала превращать его в целое число?

7
задан Clodoaldo Neto 19 April 2012 в 14:18
поделиться