(PHP 4, PHP 5, PHP 7)
number_format — 数字を千位毎にグループ化してフォーマットする
$number
[, int $decimals
= 0
] ) : string$number
, int $decimals
= 0
, string $dec_point
= "."
, string $thousands_sep
= ","
) : stringこの関数は 1 つか 2 つもしくは 4 つのパラメータを受け取ります (3 つはありません) :
パラメータが 1 つだけ渡された場合、
number
は千位毎にカンマ (",") が追加され、
小数なしでフォーマットされます。
パラメータが 2 つ渡された場合、number
は decimals
桁の小数の前にドット (".") 、
千位毎にカンマ (",") が追加されてフォーマットされます。
パラメータが 4 つ全て渡された場合、number
はドット (".") の代わりに dec_point
が
decimals
桁の小数の前に、千位毎にカンマ
(",") の代わりに thousands_sep
が追加されてフォーマットされます。
number
フォーマットする数値。
decimals
小数点以下の桁数。
dec_point
小数点を表す区切り文字。
thousands_sep
千位毎の区切り文字。
number
をフォーマットした結果を返します。
バージョン | 説明 |
---|---|
7.2.0 |
number_format() was changed to not being able to return
-0, previously -0 could be returned
for cases like where number would be -0.01.
|
5.4.0 |
この関数は、
dec_point や
thousands_sep に複数バイトを指定できるようになりました。
それまでは、複数のバイトを指定しても先頭の 1 バイトしか使われませんでした。
|
例1 number_format() の例
例えばフランスの表記法では、通常カンマ (',') を小数の区切りとした二桁の小数と、千位毎の区切りとしてスペース (' ') を用います。数値を書式設定するさまざまな方法を次の例で示します。
<?php
$number = 1234.56;
// 英語での表記 (デフォルト)
$english_format_number = number_format($number);
// 1,235
// フランスの表記
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56
$number = 1234.5678;
// 千位毎の区切りがない英語での表記
$english_format_number = number_format($number, 2, '.', '');
// 1234.57
?>