🍣

PHPの便利な関数:桁数の区切りにカンマを追加する!number_format()

2023/04/24に公開

number_format()

Webプログラムでは、料金を扱う機会が多いはずです。
料金の表記は、千単位でカンマで区切る必要がありますが、それを独自で実装するのは地味に面倒くさいです。
このような時に、非常に便利な関数がnumber_format()です。

var_dump( number_format(1000000000) ); // string(13) "1,000,000,000"

戻り値は文字列になります。

少数

最初の実装では、少数は考慮されていなかったようで、小数点以下は切り捨てられます。

var_dump( number_format(1000000000.1) ); // string(13) "1,000,000,000"

そこで第二引数に、小数点以下を何桁まで扱うか指定すると、小数点も扱うことができるようになります!

var_dump( number_format(1000000000.1, 2) ); // string(16) "1,000,000,000.10"

国際化

国毎に、表記に違いがあります。例えばフランスでは、小数点の区切りにカンマ(,)を使い、千単位の区切りにスペースを使います。

1 000,00 ⬅ フランスでの1,000.00の表記

そのような表記にも対応できます。

var_dump( number_format(1000000000.1, 2, ',' ,' ') ); // string(16) "1 000 000 000,10"

更に詳しい情報は、公式ページで確認して下さい。
https://www.php.net/manual/ja/function.number-format.php

Discussion