Formatage de l'argent dans les modèles de brindilles

Y a-t-il des filtres ou des sth comme ça dans twig Template engine pour formater de l'argent ou des nombres?

57
demandé sur umpirsky 2011-05-07 15:57:41

4 réponses

Le filtre number_format est inclus dans le noyau de brindille depuis fin décembre 2011. Le commit pertinent est ici .

Utilisation: number_format(decimals, decimalSeparator, thousandSeparator)

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

En savoir plus à ce sujet dans les docs

91
répondu Jrgns 2014-07-15 03:53:10

La bibliothèque D'ExtensionsTwig contient un certain nombre d'extensions utiles pour Twig. Avec la sortie de la version 1.2.0, un localizedcurrency filtre a été ajouté à l'extension Intl. Comme son nom l'indique, ce filtre formatera un nombre basé sur les paramètres régionaux actuels. Il utilise PHP NumberFormatter classe pour le faire.

Utilisation

, Ce filtre est très facile à utiliser. Le seul argument requis pour le filtre est le code de devise à 3 lettres ISO 4217 . Pour exemple, pour afficher un montant de 27.99 Euros, utilisez la ligne de code suivante:

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

Cela affichera différents résultats en fonction des paramètres régionaux:

  • €27.99 si les paramètres régionaux sont définis sur en
  • 27,99 € si les paramètres régionaux sont définis sur fr
  • € 27,99 Si les paramètres régionaux sont définis sur nl

Installation / réglage des paramètres régionaux

Les instructions D'Installation de L'extension Intl se trouvent dans cette réponse séparée .

30
répondu Nic Wortel 2017-05-23 12:18:17

Si vous utilisez une ancienne version de twig et que vous ne souhaitez pas installer d'extensions, vous pouvez utiliser le filtre de format comme ceci:

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

Pas très sympa, mais ça marche.

Fondamentalement format fonctionne comme la fonction sprintf de PHP

11
répondu Jens 2018-04-11 16:46:03
9
répondu thrashr888 2013-05-28 11:27:50