[PYTHON] Formatieren Sie Zahlen in das Währungsformat

str.format()

In Python 2.7 und höher können Sie "Formatbezeichner für 1000 Trennzeichen" verwenden, um alle 3 Ziffern durch ein Komma zu trennen. (Die Anzahl der zu trennenden Ziffern und das Trennzeichen können nicht geändert werden.) What’s New in Python 2.7 — Python 2.7ja1 documentation

>>> print "¥{:,d}".format(1000000)
¥1,000,000
>>> print "¥{:,.2f}".format(1000000)
¥1,000,000.00

Es kann auch in Jinja2 verwendet werden.

>>> import jinja2
>>> print jinja2.Template("{{ '\u00A5{:,d}'.format(num) }}").render(num=1000000)
¥1,000,000

Reguläre Ausdrücke

>>> import re
>>> to_yen = lambda n: "¥" + re.sub("(\d{3}(?=\d))", "\\1,", str(n)[::-1])[::-1]
>>> print to_yen(1000000)
¥1,000,000

Listeneinschlussnotation

>>> to_yen = lambda n: "¥" + ",".join([str(n)[::-1][i:i+3] for i in range(0, len(str(n)), 3)])[::-1]
>>> print to_yen(1000000)
¥1,000,000

Gebietsschemamodul

>>> import locale
>>> locale.setlocale(locale.LC_ALL, '')
'ja_JP.UTF-8'
>>> print locale.currency(1000000, grouping=True)
¥1,000,000
>>> print locale.currency(1000000, grouping=True, international=True)
JPY 1,000,000

Durch Ändern des Gebietsschemas werden die Symbole und Trennzeichen geändert.

>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
'en_US.UTF-8'
>>> print locale.currency(1000000, grouping=True)
$1,000,000.00
>>> locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8')
'de_DE.UTF-8'
>>> print locale.currency(1000000, grouping=True)
Eu1.000.000,00
>>> locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')
'fr_FR.UTF-8'
>>> print locale.currency(1000000, grouping=True)
1 000 000,00 Eu

Referenz

str.format()

Reguläre Ausdrücke

Listeneinschlussnotation

Gebietsschemamodul

Recommended Posts

Formatieren Sie Zahlen in das Währungsformat
Benennen Sie Dateien im Format JJJJMMTT in Seriennummern um
Formatieren Sie das AWS ALB-Zugriffsprotokoll im JSON-Format