例えば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」をオススメします。