関数・クラス解説

number_format

version:PHP 4, PHP 5, PHP 7 (公式)

数字を千区切り・小数点の桁などでフォーマットする

フォーマット

string : number_format ( float $number [, int $decimals = 0 ] )
string : number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )

パラメータ

float $number (必須)
フォーマットしたい数値

int $decimals = 0
小数点以下の桁数

string $dec_point = "."
小数点を表す区切り文字。この引数指定時は、以下の$thousands_sep も必ず指定しなくてはいけない。

string $thousands_sep = ","
千位毎の区切り文字。$dec_point を指定時はこの引数も必ず指定しなくてはいけない。

返値 string
number をフォーマット処理した文字列を返却

解説

渡された数値を、整数部分はカンマなどで千区切りにして、小数点以下は任意の桁数で表示することができます。千位毎の区切り文字や小数点を表す区切り文字はデフォルトのカンマやドットから変更することも可能です。

記述サンプル

//PHP 7.4.6で実行

//数値を指定
$number = 1234567.8911;

//デフォルトで実行
echo number_format($number);

//結果
1,234,568

/* ----------------------------- */


//数値形式の文字列で指定
$number = "1234567.8911";

//実行
echo number_format($number);

//結果 数値形式になっていれば文字列として指定しても作動する
1,234,568

/* ----------------------------- */
//
$number = 1234567.8911;

// 様々な形式を指定してで実行
echo number_format($number, 2, ',', ' ');

// 結果
1 234 567,89

// 千位毎の区切りが不要な場合
echo number_format($number, 3, '.', '');

// 結果
1234567.891

数値 フォーマット String 文字列

参考リンク

money_format 数値をロケールに合わせた金額フォーマットへ変換する
printf 文字列を指定のフォーマットにしたがって出力する
sprintf 文字列を指定されたフォーマットで整形して返却
sscanf 文字列を指定したフォーマットに基づいて整形し返却する

タグ

数値 フォーマット String 文字列


公式リファレンス

書式

number_format ( float $number [, int $decimals = 0 ] ) : string

number_format ( float $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() は、 -0 を返さないように変更されました。 これより前のバージョンでは、 number が -0.01 のようなケースで -0 が返される場合がありました。

サンプル

例1 number_format() の例

例えばフランスの表記法では、通常カンマ (',') を小数の区切りとした二桁の小数と、千位毎の区切りとしてスペース (' ') を用います。数値を書式設定するさまざまな方法を次の例で示します。

$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() - フォーマット文字列に基づき入力を処理する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール