number_format

(PHP 3, PHP 4 )

number_format -- 1,000 単位で数字をフォーマットする

説明

string number_format ( float number [, int decimals [, string dec_point [, string thousands_sep]]])

number_format()number をフォーマットしたものを返します。この関数は、以下に示すような 1個,2個または 4個の引数を取ります(3個というのはありません):

引数が1つだけ与えられた場合は、numberが 各々1000の位ごとにカンマ(",")区切りでフォーマットされますが、 小数部は出力されません。

引数が2つ与えられた場合は、numberが各々 1000の位ごとにカンマ(",")区切りででフォーマットされ、さらにドッ ト(".")1つを置いて、その後に小数部がdecimals 桁数分出力されます。

4つの引数すべてが与えられた場合は、numberdecimals桁数分の小数部を含んだ形でフォ ーマットされます。その際、各々1000の位ごとの区切り文字として、 カンマ(",")の代わりにthousands_sepで与 えられた文字列を使い、小数部の前のドット(".")の代わりに dec_pointで与えられた文字列を使います。

注意 thousands_sepの最初の文字のみが使用され ます。例えば、数値1000について foothousands_sep に使用した場合、number_format() は、 1f000を返します。

例 1number_format() の例

例えば、フランス語表記では通常小数点以下は2桁とし、カンマ (',')を小数部の区切り文字、スペース(' ')を1000の位毎の区切り 文字として使用します。これは、次のように行います。

<?php

    $nombre = 1234.56;

    // 英語表記 (デフォルト)
    $english_format_number = number_format($nombre);
    // 1,234.56

    // フランス語表記
    $nombre_format_francais = number_format($nombre, 2, ',', ' ');
    // 1 234,56

    $number = 1234.5678;

    // 千単位の区切りがない英語表記
    $english_format_number = number_format($number, 2, '.', '');
    // 1234.56

?>

注意 sprintf(), printf() , sscanf()も 参照下さい。