Подтвердить что ты не робот

Форматирование денег в шаблонах twig

Есть ли какие-либо фильтры или sth, подобные этому в движке шаблонов ветки, чтобы форматировать деньги или цифры?

4b9b3361

Ответ 1

Фильтр number_format был включен в ядро ​​Twig с конца декабря 2011 года. Соответствующая фиксация здесь.

Использование: number_format(decimals, decimalSeparator, thousandSeparator)

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

Подробнее об этом читайте в docs

Ответ 2

Библиотека Twig Extensions содержит ряд полезных расширений для Twig. С выпуском версии 1.2.0 в расширение Intl добавлен фильтр localizedcurrency. Как следует из названия, этот фильтр будет форматировать число, основанное на текущей локали. Для этого используется класс PHP NumberFormatter.

Использование

Этот фильтр очень прост в использовании. Единственным обязательным аргументом для фильтра является трехзначный код валюты ISO 4217. Например, чтобы отобразить сумму в 27.99 евро, используйте следующую строку кода:

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

В зависимости от локали будут отображаться разные результаты:

  • €27.99, если для языкового стандарта установлено значение en
  • 27,99 €, если для языкового стандарта установлено значение fr
  • € 27,99 Если для языкового стандарта установлено значение nl

Установка/настройка языка

Инструкции по установке расширения Intl можно найти в этом отдельном ответе.

Ответ 4

Если вы используете более старую версию ветки и вы не хотите устанавливать какие-либо расширения, вы можете использовать фильтр формата следующим образом:

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

Не очень приятно, но он работает.