number_format

(PHP 4, PHP 5, PHP 7, PHP 8)

number_format数字を千の位毎にグループ化してフォーマットする

説明

number_format(
    float$num,
    int$decimals = 0,
    ?string$decimal_separator = ".",
    ?string$thousands_separator = ","
): string

数値を千の位毎にグループ化し、オプションで小数の桁も追加してフォーマットします。小数の桁を追加する場合、四捨五入のルールを使います。

パラメータ

num

フォーマットする数値。

decimals

小数点以下の桁数。 0 を指定すると、 戻り値の decimal_separator は省略されます。

decimal_separator

小数点を表す区切り文字。

thousands_separator

千の位毎の区切り文字。

戻り値

num をフォーマットした結果を返します。

変更履歴

バージョン説明
8.0.0 これより前のバージョンでは、 number_format() 関数は 引数を1個、2個、または4個受け入れていました(つまり、3個はダメでした)。
7.2.0number_format() は、 -0 を返さないように変更されました。 これより前のバージョンでは、 num-0.01 のようなケースで -0 が返される場合がありました。

例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

?>

参考

  • money_format() - 数値を金額文字列にフォーマットする
  • sprintf() - フォーマットされた文字列を返す
  • printf() - フォーマット済みの文字列を出力する
  • sscanf() - フォーマット文字列に基づき入力を処理する
To Top