Форматирование валюты в Python

139
задан vaultah 27 September 2016 в 16:28
поделиться

5 ответов

Посмотрите локаль модуль.

Это делает валюту (и дата) форматирование.

>>> import locale
>>> locale.setlocale( locale.LC_ALL, '' )
'English_United States.1252'
>>> locale.currency( 188518982.18 )
'$188518982.18'
>>> locale.currency( 188518982.18, grouping=True )
'$188,518,982.18'
186
ответ дан fjsj 27 September 2016 в 16:28
поделиться

О, это - интересный зверь.

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

я записал свою собственную довольно обширную реализацию этого, которое является частью платформы Python киви, проверьте источник LGPL:ed здесь:

http://svn.async.com.br/cgi-bin/viewvc.cgi/kiwi/trunk/kiwi/currency.py?view=markup

код является немного конкретным Linux/Glibc, но не должен быть слишком трудным для принятия к окнам или другому unixes.

, После того как Вам установили это, можно сделать следующее:

>>> from kiwi.datatypes import currency
>>> v = currency('10.5').format()

, Который затем даст Вам:

'$10.50'

или

'10,50 kr'

В зависимости от в настоящее время выбираемой локали.

основной момент это сообщение имеет по другому, то, что это будет работать с более старыми версиями Python. locale.currency был представлен в python 2.5.

3
ответ дан Johan Dahlin 27 September 2016 в 16:28
поделиться

Я пришел посмотреть на то же самое и обнаружил, что python-money на самом деле еще не использовал его, но, возможно, сочетание двух было бы хорошо

0
ответ дан 23 November 2019 в 23:13
поделиться

Мои настройки локали казались неполными, поэтому я тоже вышел за рамки этого SO-ответа и обнаружил:

http://docs.python.org/library/decimal.html#recipes

Независимость от ОС

Просто хочу поделиться.

16
ответ дан 23 November 2019 в 23:13
поделиться

New in 2.7

>>> '{:20,.2f}'.format(18446744073709551616.0)
'18,446,744,073,709,551,616.00'

http://docs.python.org/dev/whatsnew/2.7.html#pep-0378

89
ответ дан 23 November 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: