Twigで数値の端数を四捨五入、切り捨て、切り上げする方法をご紹介します。
今回は、Twigでの数値の3つの端数処理方法(四捨五入、切り捨て、切り上げ)round
フィルターを使用して実装する方法を紹介します。
round
フィルターのデフォルトの動作は四捨五入です。例えば、
{{ 42.55|round }}
このコードは、43
と出力されます。
切り捨ては、round
フィルターの第2引数に floor
を指定します。例えば、小数第二位以下を切り捨てて、小数第一位までの値を得るには以下のようにします。
{{ 42.55|round(1, 'floor') }}
このコードは、42.5
として出力されます。
切り上げは、round
フィルターの第2引数に ceil
を指定します。例えば、小数第二位以下を切り上げて、小数第一位までの値を得るには以下のようにします。
{{ 42.45|round(1, 'ceil') }}
このコードは、42.5
として出力されます。
round
フィルターの第一引数は、数値の精度を指定するためのものです。具体的には、小数点以下の桁数を指定するための値として使われます。つまり、結果として小数第何位までの数値が欲しいか、ということですね。デフォルトの精度は0
なので、結果として整数が出力されます。
したがって、例えば小数以下はすべて切り捨てたい場合は、以下のように書けます。
{{ 42.55|round(0, 'floor') }}
round
フィルターは、非常に柔軟性があり、必要な精度と方法で数値を簡単に端数処理することができます。デフォルトの四捨五入から、切り捨てや切り上げまで、簡単なフィルターの指定で実現できるのは Twig の強みですね。