ブログ
PHPの小数点以下表示について
最近、小数点以下の数字を使うことがあったのでメモ的にまとめておきます。
目次
小数点以下数字の使い方
まず、PHPで小数点以下の数字を扱うには浮動小数点型(float型)を使います。
変数を定義する際に小数点をつけた数字を代入すれば自動的にfloat型になります。
$float = 1.2;
echo $float; //1.2が出力される
しかし、小数点以下が0の場合、型に関係なく小数部分は省略されて出力されます。
$float = 1.0;
echo $float; //1が出力される
複数の数字で小数点以下の桁数を揃えて表示させたい場合、そのままだと揃ってくれず苦戦しました。
このときに小数点以下の桁数を指定して出力する方法を以下で解説します。
小数点以下の桁数指定
number_format()
これは数値をフォーマットする関数です。
関数の詳細は省きますが、この関数を使うことで小数点以下の桁数を指定できます。
$float = 1;
$format = number_format($float, 2);
echo $format; //1.00が出力される
1つ目の引数にフォーマットしたい数値を、2つ目の引数で小数点以下の桁数を指定します。
sprintf()
これは文字列のフォーマットを指定する関数で、こちらでも小数点以下の桁数を指定できます。
$float = 1;
$format = sprintf('%.2f', $float);
echo $format; //1.00が出力される
1つ目の引数にフォーマットしたい文字列を、2つ目以降の引数にフォーマットしたい値を指定します。
「%」には2つ目以降の引数の値が入り「.2f」が小数点以下の桁数の指定になります。
個人的には小数点以下含めた表示の数字が欲しいときは「number_format()」を使って桁数を整える方がわかりやすくて好ましいと思います。
以下におまけとして小数に関係する関数も載せておきます。
小数点以下の加工
演算結果で出てきた小数点以下の数値を好きに加工する時は以下の関数を使います。
round()
これは指定した数値を四捨五入する関数です。
$float_1 = 1.5;
$float_2 = 1.2;
echo round($float_1); //2が出力される
echo round($float_2); //1が出力される
引数で指定した数値の小数値を四捨五入して整数の形にすることができます。
$float = 1.23;
echo round($float, 1); //1.2が出力される
このように2つ目の引数を指定することで小数点の桁数を指定することもできます。
ただし、指定した桁数より下の桁数には影響しないため、2を指定した場合は小数点以下1桁までの小数値は四捨五入されません。
$float = 1.2;
echo round($float, 2); //1.2が出力されます
floor()
これは指定した数値の小数値を切り捨てする関数です。
$float = 1.5;
echo floor($float); //1が出力されます
引数で指定した値の小数を切り捨て整数の形にすることができます。
ただし、桁数の指定はできないため小数点以下での切り捨てはできません。
ceil()
これは指定した数値の小数値を切り上げる関数です。
$float = 1.2;
echo ceil($float); //2が出力されます
引数で指定した値の小数を切り上げて整数の形にすることができます。
こちらも、桁数の指定はできないため小数点以下での切り上げはできません。
株式会社ウイングドアは福岡のシステム開発会社です。
現在、私達と一緒に"楽しく仕事が出来る仲間"として、新卒・中途採用を絶賛募集しています!
ウイングドアの仲間達となら楽しく仕事できるかも?と興味をもった方、
お気軽にお問い合わせ下さい!