php number_formatで数字のフォーマットを行う

  • 作成日 2021.10.22
  • php
php number_formatで数字のフォーマットを行う

phpで、number_formatを使用して、数字のフォーマットを行うサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Stream release 8
  • php 8.0.0
  • nginx 1.14.1

number_format使い方

number_formatを使用すれば、数字のフォーマットを行うことが可能です。

number_format(数値[,少数以下の桁数,少数を表す文字,1000毎の区切り文字]);

以下は、数値「100万」を3桁ごとにカンマで区切るサンプルコードとなります。

<?php

$num = 1000000;

$result = number_format($num);

var_dump($result);
// string(9) "1,000,000"

文字列でも同じです。

<?php

$str = "1000000";

$result = number_format($str);

var_dump($result);
// string(9) "1,000,000"

第二引数に「数値」を指定することで表示する少数以下の桁数を指定できます。

<?php

$num = 1000000.123;

echo number_format($num). PHP_EOL;
// 1,000,000
echo number_format($num, 1). PHP_EOL;
// 1,000,000.1
echo number_format($num, 2). PHP_EOL;
// 1,000,000.12
echo number_format($num, 3). PHP_EOL;
// 1,000,000.123
echo number_format($num, 10). PHP_EOL;
// 1,000,000.1230000000

また、第三引数に文字列を指定した場合は、以下の通りの結果となります。

<?php

$num = 1000000.123;

echo number_format($num, 0, "{}", "!") . PHP_EOL;
// 1!000!000
echo number_format($num, 1, "{}", "!") . PHP_EOL;
// 1!000!000{}1