twigで数値を通貨フォーマットに変換する

Twig

twigで数値を通貨フォーマットに変換する方法です

日本の通貨フォーマットでは、3桁単位でカンマ(,)を入れます

こんな感じで↓

10000 → 10,000

これを簡単にtwigで実現するには、number_formatを使用します

number_formatの使い方

<!-- money = 10000 -->
{{ money | number_format }}円
 
<!-- → 10,000円 -->

format_currencyは使えない?

ちなみに、twigにはformat_currencyという通貨フォーマット専用のクラスが用意されていますが、これはなぜか使えませんでした(エラーになります)

<!-- money = 10000 -->
{{ money | format_currency('JPY') }}
 
<!-- → エラー -->

公式ドキュメントによれば、format_currencyを使うことでカンマ区切りに加えて、通貨単位(¥、$、)を先頭に付加してくれるようです

まあ、number_formatでも自分で通貨単位を加えてしまえばいいので、そこまでformat_currencyの必要性はないかもしれません