【PHP】数字の表記を[number_format]で3桁のカンマ区切りにする。

Ads by Google

例えばWordPressのカスタムフィールドで数字を入力した場合、単純に出力すると「12345678」というようにカンマ区切りがないまま表示されます。

特に価格などを扱う場合、このままの仕様だと大変不便です。
これを「12,345,678」とカンマで区切って出力させたいときに使えるのが、PHPの「number_format」関数です。

記述例

例えばカスタムフィールドのKeyの値が「price」の場合、次のように記述します。

<p>金額:<?php
echo number_format( get_post_meta ( $post->ID, ’price’, true ) );
?>円

上記の場合、仮に『price』に「98765432」が入力されていると次のように出力されます。

金額:98,765,432円

小数点以下を含める場合の注意点

この「number_format」関数では、小数点以下の数値は四捨五入されて整数で返ってきます。

小数点以下の値をコントロールするには第2引数で何桁まで表示させるかを指定します。
ここでは試しに円周率を使ってみましょう。

<?php
$num = 3.1415926535897932384626433832795;
echo number_format($num, 6); // 小数点以下を6桁表示
?>

表示結果は次のようになります。

3.141592

小数点以下の末尾が「0」になるのを防ぐ場合は、もう少しだけコードを追記しましょう。

<?php
$number = number_format( 1010.10101, 2 );
$number = preg_replace("/\.?0+$/","",$number);
?>

…簡単で便利ですね。

追記。

同じように金額を扱う場合、いちおう「money_format」という関数もあります。
ただしこちらは設定の記述が少々面倒。
手軽に使いたいなら「number_format」をオススメします。

こちらの記事もいかがですか?

アナタにオススメ!
同じカテゴリーの他の記事です。

Ads by Google

Leave a Replyコメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です