Math 関数
PHP Manual

round

(PHP 4, PHP 5, PHP 7)

round浮動小数点数を丸める

説明

float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )

val を、指定した precision(小数点以下の桁数)に丸めた値を 返します。precision を負またはゼロ(デフォルト) とすることも可能です。

注意: PHP は、デフォルトでは "12,300.2" のような 文字列を正しく処理しません。文字列からの変換 を参照ください。

パラメータ

val

丸める値。

precision

オプションで指定する、丸める桁数。

mode

次の定数のいずれかを使って、丸めのモードを指定します。

定数 説明
PHP_ROUND_HALF_UP val が小数点第 precision 位の値になるように、 ゼロから離れる方向に丸めます。1.5 は 2 に、そして -1.5 は -2 になります。
PHP_ROUND_HALF_DOWN val が小数点第 precision 位の値になるように、 ゼロに近づく方向に丸めます。1.5 は 1 に、そして -1.5 は -1 になります。
PHP_ROUND_HALF_EVEN val が小数点第 precision 位の値になるように、 次の偶数に丸めます。
PHP_ROUND_HALF_ODD val が小数点第 precision 位の値になるように、 次の奇数に丸めます。

返り値

丸めた値を返します。

例1 round() の例

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.60);      // 4
echo round(1.955832);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.0452);    // 5.05
echo round(5.0552);    // 5.06
?>

例2 mode の例

<?php
echo round(9.50PHP_ROUND_HALF_UP);   // 10
echo round(9.50PHP_ROUND_HALF_DOWN); // 9
echo round(9.50PHP_ROUND_HALF_EVEN); // 10
echo round(9.50PHP_ROUND_HALF_ODD);  // 9

echo round(8.50PHP_ROUND_HALF_UP);   // 9
echo round(8.50PHP_ROUND_HALF_DOWN); // 8
echo round(8.50PHP_ROUND_HALF_EVEN); // 8
echo round(8.50PHP_ROUND_HALF_ODD);  // 9
?>

例3 桁数を指定した mode の例

<?php
/* PHP_ROUND_HALF_UP を使って小数第一位で丸める */
echo round1.551PHP_ROUND_HALF_UP);   //  1.6
echo round1.541PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.551PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.541PHP_ROUND_HALF_UP);   // -1.5

/* PHP_ROUND_HALF_DOWN を使って小数第一位で丸める */
echo round1.551PHP_ROUND_HALF_DOWN); //  1.5
echo round1.541PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.551PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.541PHP_ROUND_HALF_DOWN); // -1.5

/* PHP_ROUND_HALF_EVEN を使って小数第一位で丸める */
echo round1.551PHP_ROUND_HALF_EVEN); //  1.6
echo round1.541PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.551PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.541PHP_ROUND_HALF_EVEN); // -1.5

/* PHP_ROUND_HALF_ODD を使って小数第一位で丸める */
echo round1.551PHP_ROUND_HALF_ODD);  //  1.5
echo round1.541PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.551PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.541PHP_ROUND_HALF_ODD);  // -1.5
?>

変更履歴

バージョン 説明
5.3.0 mode パラメータが追加されました。
5.2.7 round() の内部での挙動が変更され、 C99 標準に準拠するようになりました。

参考


Math 関数
PHP Manual