Ich möchte eine Zahl wie 188518982.18 mit Python auf £ 188.518.982,18 formatieren.
Wie kann ich das machen?
python
formatting
currency
RailsSon
quelle
quelle
locale
Verwendung des Währungswerts durch das Modul und die Anzeigeeigenschaften dieser Währung entkoppelt wurden .Antworten:
Siehe das Gebietsschemamodul .
Dies führt die Formatierung von Währung (und Datum) durch.
quelle
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
und es hat perfekt funktioniert!Neu in 2.7
http://docs.python.org/dev/whatsnew/2.7.html#pep-0378
quelle
$ 123,456.78
manchmal aber führen würde. Bearbeiten: Markdown entfernt die zusätzlichen Leerzeichen, tun Sie so, als ob es mehr zwischen dem $ und den Zahlen gibtIch bin mir nicht ganz sicher, warum es nicht mehr online (oder in diesem Thread) erwähnt wird, aber das Babel- Paket (und die Django-Dienstprogramme) der Edgewall-Leute eignet sich hervorragend für die Währungsformatierung (und viele andere i18n-Aufgaben). Es ist schön, weil es nicht unter der Notwendigkeit leidet, alles global zu erledigen, wie das Kernmodul des Python-Gebietsschemas.
Das Beispiel, das das OP gegeben hat, wäre einfach:
quelle
locale
Argumentformat_currency
verwendet werden kann, um dies zu beheben , aber entweder war das vor vier Jahren nicht im Dokument (als ich diesen Kommentar schrieb) oder ich habe den Code dieser Antwort so wie er ist getestet, ohne das Dokument zu überprüfen.Dies ist ein alter Beitrag, aber ich habe gerade die folgende Lösung implementiert:
Code:
Ausgabe:
Und für das Originalplakat wechseln Sie natürlich einfach
$
für£
quelle
print(f'Value is: ${value:,.2f}'.replace('$-', '-$'))
Meine Gebietsschemaeinstellungen schienen unvollständig zu sein, daher musste ich auch über diese SO-Antwort hinausschauen und feststellen:
http://docs.python.org/library/decimal.html#recipes
Betriebssystemunabhängig
Ich wollte nur hier teilen.
quelle
def moneyfmt(value, places=2, curr='', sep=',', dp='.', pos='', neg='-', trailneg='')
?Wenn Sie OSX verwenden und die Einstellung Ihres Gebietsschemamoduls noch nicht festgelegt haben, funktioniert diese erste Antwort nicht. Sie erhalten die folgende Fehlermeldung:
Um dies zu beheben, müssen Sie Folgendes verwenden:
quelle
"{:0,.2f}".format(float(your_numeric_value))
in Python 3 erledigt den Job; es gibt so etwas wie eine der folgenden Zeilen aus:quelle
Wenn ich Sie wäre, würde ich BABEL verwenden: http://babel.pocoo.org/en/latest/index.html
quelle
format_currency
.Oh, das ist ein interessantes Tier.
Ich habe viel Zeit damit verbracht, das richtig zu machen. Es gibt drei Hauptprobleme, die sich von Gebietsschema zu Gebietsschema unterscheiden: - Währungssymbol und Richtung - Tausendertrennzeichen - Dezimalpunkt
Ich habe meine eigene ziemlich umfangreiche Implementierung davon geschrieben, die Teil des Kiwi-Python-Frameworks ist. Schauen Sie sich die LGPL: ed-Quelle hier an:
http://svn.async.com.br/cgi-bin/viewvc.cgi/kiwi/trunk/kiwi/currency.py?view=markup
Der Code ist leicht Linux / Glibc-spezifisch, sollte aber nicht zu schwierig für Windows oder andere Unixe sein.
Sobald Sie das installiert haben, können Sie Folgendes tun:
Welches wird Ihnen dann geben:
oder
Abhängig vom aktuell ausgewählten Gebietsschema.
Der Hauptpunkt, den dieser Beitrag gegenüber dem anderen hat, ist, dass er mit älteren Python-Versionen funktioniert. locale.currency wurde in Python 2.5 eingeführt.
quelle
10,50 kr
stattkr 10,50
.# Drucken der Variablen 'Total:' in einem Format, das wie folgt aussieht: '9,348.237'
Dabei ist '{: 7, .3f}' die Anzahl der Leerzeichen zum Formatieren der Zahl in diesem Fall eine Million mit 3 Dezimalstellen. Dann fügen Sie das '.format (zum1) hinzu. Das zum1 ist die Variable, die die große Zahl für die Summe aller Zahlen in meinem speziellen Programm hat. Variable kann alles sein, was Sie verwenden möchten.
quelle
Inspiriert vom obigen Code: D.
quelle
Ich bin gekommen, um mir das Gleiche anzusehen und habe festgestellt, dass Python-Geld es noch nicht wirklich verwendet hat, aber vielleicht wäre eine Mischung aus beiden gut
quelle
Ein Lambda zur Berechnung innerhalb einer Funktion mit Hilfe von @ Nates Antwort
und dann,
quelle
Einfacher Python-Code!
quelle
"$2,129.1468284147656"
,"$10,948.3742933"
,"$1,0908"
. Verstümmelt die Schnur.