(PHP 4, PHP 5, PHP 7)
round — 浮動小数点数を丸める
$val
[, int $precision
= 0
[, int $mode
= PHP_ROUND_HALF_UP
]] ) : float
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.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>
例2 mode
の例
<?php
echo round(9.5, 0, PHP_ROUND_HALF_UP); // 10
echo round(9.5, 0, PHP_ROUND_HALF_DOWN); // 9
echo round(9.5, 0, PHP_ROUND_HALF_EVEN); // 10
echo round(9.5, 0, PHP_ROUND_HALF_ODD); // 9
echo round(8.5, 0, PHP_ROUND_HALF_UP); // 9
echo round(8.5, 0, PHP_ROUND_HALF_DOWN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_EVEN); // 8
echo round(8.5, 0, PHP_ROUND_HALF_ODD); // 9
?>
例3 桁数を指定した mode
の例
<?php
/* PHP_ROUND_HALF_UP を使って小数第一位で丸める */
echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
/* PHP_ROUND_HALF_DOWN を使って小数第一位で丸める */
echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
/* PHP_ROUND_HALF_EVEN を使って小数第一位で丸める */
echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
/* PHP_ROUND_HALF_ODD を使って小数第一位で丸める */
echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
?>
バージョン | 説明 |
---|---|
5.3.0 |
mode パラメータが追加されました。
|
5.2.7 | round() の内部での挙動が変更され、 C99 標準に準拠するようになりました。 |