Форматирования деньги в шаблоны Twig
есть ли какие-либо фильтры или sth, как это в twig template engine для форматирования денег или чисел?
4 ответа:
The
number_format
фильтр был включен в ядро ветки с конца декабря 2011 года. Соответствующая фиксация -здесь.использование:
number_format(decimals, decimalSeparator, thousandSeparator)
{{ total|number_format(2) }} {{ total|number_format(0, '.') }} {{ total|number_format(2, '.', ',') }}
подробнее об этом читайте в docs
The библиотека расширений веточек содержит ряд полезных расширений для прутиком. С выпуском версии 1.2.0, a
localizedcurrency
filter был добавлен в расширение Intl. Как следует из названия, этот фильтр будет форматировать число на основе текущей локали. Он использует PHPNumberFormatter
класс для этого.использование
этот фильтр очень прост в использовании. Единственным обязательным аргументом для фильтра 3-х букв ISO 4217 код валюты. Например, чтобы отобразить сумму в 27,99 евро, используйте следующую строку кода:
{{ price|localizedcurrency('EUR') }}
это будет отображать различные результаты в зависимости от локали:
€27.99
если языковой стандарт установлен вen
27,99 €
если языковой стандарт установлен вfr
€ 27,99
если языковой стандарт установлен вnl
установка / настройка язык
инструкции по установке расширения Intl можно найти в это отдельный ответ.
Если вы используете более старую версию twig и не хотите устанавливать какие-либо расширения, вы можете использовать фильтр формата следующим образом:
{{ "%.2f"|format(total) }}
не очень приятно, но это работает.
в принципе
format
работы как в PHPsprintf
функции
вот фильтр, который делает
number_format()
:https://github.com/falmp/Twig-extensions/blob/master/lib/Twig/Extensions/Extension/Number.php