PHP では、 round 関数を使用して四捨五入を行うことができます。また、round 関数は四捨五入以外にも五捨六入や、最近接偶(奇)数丸めも行うことができます。ここでは、round 関数の使用サンプルを掲載しています。
スポンサーリンク
round 関数の使用サンプル
以下のサンプルは、PHP5.3 で追加された mode パラメータを使用しているため、それ以前のバージョンでは使用することができません。詳細はサンプル内のコメントを参照ください。
// 小数点第一位を四捨五入して整数出力 echo round(1.49, 0, PHP_ROUND_HALF_UP); // 1 echo round(1.50, 0, PHP_ROUND_HALF_UP); // 2 echo round(1.51, 0, PHP_ROUND_HALF_UP); // 2 // 小数点第一位を五捨六入して整数で出力 echo round(1.49, 0, PHP_ROUND_HALF_DOWN); // 1 echo round(1.50, 0, PHP_ROUND_HALF_DOWN); // 1 echo round(1.51, 0, PHP_ROUND_HALF_DOWN); // 2 // 小数点第一位で最近接偶数への丸めを行う echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8 echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10 // 小数点第一位で最近接奇数への丸めを行う echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9 echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9 // 小数点第二位を四捨五入して整数出力 echo round(1.44, 1, PHP_ROUND_HALF_UP); // 1.4 echo round(1.55, 1, PHP_ROUND_HALF_UP); // 1.6 echo round(1.56, 1, PHP_ROUND_HALF_UP); // 1.6 // 小数点第二位を五捨六入して整数で出力 echo round(1.44, 1, PHP_ROUND_HALF_DOWN); // 1.4 echo round(1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5 echo round(1.56, 1, PHP_ROUND_HALF_DOWN); // 1.6 // 小数点第二位で最近接偶数への丸めを行う echo round(8.45, 1, PHP_ROUND_HALF_EVEN); // 8.4 echo round(9.55, 1, PHP_ROUND_HALF_EVEN); // 9.6 // 小数点第一位で最近接奇数への丸めを行う echo round(8.45, 1, PHP_ROUND_HALF_ODD); // 8.5 echo round(9.55, 1, PHP_ROUND_HALF_ODD); // 9.5
round 関数の第2パラメータにマイナス値を指定することで、一の位(-1)や十の位(-2)で四捨五入を行うこともできます。
最近接偶数への丸め
端数が0.5より小さいなら切り捨て、端数が0.5より大きいならは切り上げ、端数がちょうど0.5なら切り捨てと切り上げのうち結果が偶数となる方へ丸める。また、端数がちょうど 0.5の場合に丸める数(偶数または奇数)がランダムになる数であれば 計算誤差が最終的に少なくなるが、一方(偶数または奇数)に偏ってしまう場合などは逆に計算を繰り返すほど 誤差が大きくなってしまう。
最近接奇数への丸め
最近接偶数への丸めと同様だが、端数がちょうど0.5なら切り捨てと切り上げのうち結果が 奇数となる方へ丸める点が異なる。