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?
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
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 suren
-
27,99 €
si les paramètres régionaux sont définis surfr
-
€ 27,99
Si les paramètres régionaux sont définis surnl
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 .
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
Voici un filtre qui ne number_format()
:
Https://github.com/falmp/Twig-extensions/blob/master/lib/Twig/Extensions/Extension/Number.php