wake-up-neo.com

Formatieren von Geld in twig templates

Gibt es Filter oder ähnliches in twig template engine um Geld oder Zahlen zu formatieren?

62
umpirsky

Der Filter number_format Ist seit Ende Dezember 2011 im Kern von Twig enthalten. Das entsprechende Commit ist hier .

Verwendung: number_format(decimals, decimalSeparator, thousandSeparator)

{{ total|number_format(2) }}
{{ total|number_format(0, '.') }}
{{ total|number_format(2, '.', ',') }}

Lesen Sie mehr darüber in den docs

100
Jrgns

Die Twig Extensions Bibliothek enthält eine Reihe nützlicher Erweiterungen für Twig. Mit der Veröffentlichung von Version 1.2.0 wurde der Intl-Erweiterung ein localizedcurrency-Filter hinzugefügt. Wie der Name schon sagt, formatiert dieser Filter eine Zahl basierend auf dem aktuellen Gebietsschema. Dazu wird die Klasse NumberFormatter von PHP verwendet.

Verwendung

Dieser Filter ist sehr einfach zu bedienen. Das einzige erforderliche Argument für den Filter ist der 3-stellige ISO 4217 Währungscode. Verwenden Sie beispielsweise die folgende Codezeile, um einen Betrag von 27,99 Euro anzuzeigen:

{{ price|localizedcurrency('EUR') }}

Dies zeigt je nach Gebietsschema unterschiedliche Ergebnisse an:

  • €27.99 wenn das Gebietsschema auf en gesetzt ist
  • 27,99 € wenn das Gebietsschema auf fr gesetzt ist
  • € 27,99 wenn das Gebietsschema auf nl gesetzt ist

Installation/Einstellen des Gebietsschemas

Installationsanweisungen für die Intl-Erweiterung finden Sie in diese separate Antwort .

34
Nic Wortel

Wenn Sie eine ältere Version von twig verwenden und keine Erweiterungen installieren möchten, können Sie den Formatfilter folgendermaßen verwenden:

{{ "%.2f"|format(total) }}

Nicht sehr schön, aber es funktioniert.

Grundsätzlich funktioniert format wie PHPs Funktion sprintf

11
Jens
9
thrashr888