twigお金または数字をフォーマットするためのテンプレートエンジンに、そのようなフィルターまたはsthがありますか?
Twig Extensions library には、Twigの便利な拡張機能が多数含まれています。バージョン1.2.0のリリースでは、 localizedcurrency
filter がIntl拡張に追加されました。名前が示すように、このフィルターは現在のロケールに基づいて数値をフォーマットします。これを行うには、PHPの NumberFormatter
クラスを使用します。
このフィルターは非常に使いやすいです。フィルターに必要な引数は、3文字 ISO 4217 通貨コードのみです。たとえば、27.99の金額をユーロで表示するには、次のコード行を使用します。
{{ price|localizedcurrency('EUR') }}
これにより、ロケールに応じて異なる結果が表示されます。
€27.99
ロケールがen
に設定されている場合27,99 €
ロケールがfr
に設定されている場合€ 27,99
ロケールがnl
に設定されている場合Intl拡張機能のインストール手順は この別の回答 にあります。
古いバージョンのtwigを使用していて、拡張機能をインストールしたくない場合は、次のようなフォーマットフィルターを使用できます。
{{ "%.2f"|format(total) }}
あまりいいとは言えませんが、うまくいきます。
基本的にformat
は PHPのsprintf
関数 のように機能します
number_format()
を実行するフィルターは次のとおりです。
https://github.com/falmp/Twig-extensions/blob/master/lib/Twig/Extensions/Extension/Number.php