PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

【PHP入門】round()関数の使い方 – 数値を四捨五入する方法と丸めモードの解説

PHPのround()関数は、浮動小数点数(float型)の数値を指定した桁数で四捨五入するための関数です。例えば、0.901 に、0.350 のように丸めることができます。金額計算や表示用の数値整形など、さまざまな場面で活用される基本的な関数の一つです。

round()関数の基本構文

round(val, precision, mode)

引数はすべて省略可能な形で、precisionmode を指定しない場合は、小数第一位で四捨五入されます。

パラメータの詳細

  • val ― 四捨五入の対象となる数値を指定します。

  • precision ― 小数点以下の何桁まで丸めるかを指定します(精度)。負の値を指定すると、整数部分の位を丸めることも可能です。

  • mode ― 丸めの方式(丸めモード)を指定する定数です。以下の4種類が用意されています。

    • PHP_ROUND_HALF_UP ― 値がちょうど半分の場合に切り上げます。1.52 に、-1.5-2 になります。デフォルトのモードです。

    • PHP_ROUND_HALF_DOWN ― 値がちょうど半分の場合に切り下げます。1.51 に、-1.5-1 になります。

    • PHP_ROUND_HALF_EVEN ― 半分の場合に、次の偶数に近い方へ丸めます(銀行家の丸め)。

    • PHP_ROUND_HALF_ODD ― 半分の場合に、次の奇数に近い方へ丸めます。

戻り値

round()関数は、丸め処理された後の数値を返します。

使用例1:小数第2位で丸める

まずは基本的な使い方から見てみましょう。

<?php
    echo(round(2.099, 2));
?>

実行結果

2.1

2.099 を小数第2位で丸めたため、2.1 が出力されました。

使用例2:小数第2位での四捨五入

もう一つ例を見てみましょう。

<?php
    echo(round(9.859, 2));
?>

実行結果

9.86

使用例3:PHP_ROUND_HALF_UP(切り上げ)

デフォルトの丸めモードである PHP_ROUND_HALF_UP を使った例です。

<?php
    echo(round(10.5, 0, PHP_ROUND_HALF_UP) . "<br>");
    echo(round(-10.5, 0, PHP_ROUND_HALF_UP));
?>

実行結果

11
-11

正の数・負の数ともに、半分の値は絶対値が大きくなる方向へ切り上げられます。

使用例4:PHP_ROUND_HALF_DOWN(切り下げ)

<?php
    echo(round(19.5, 0, PHP_ROUND_HALF_DOWN) . "<br>");
    echo(round(-19.5, 0, PHP_ROUND_HALF_DOWN));
?>

実行結果

19
-19

半分の値の場合、ゼロに近い方向へ切り下げられているのがわかります。

使用例5:PHP_ROUND_HALF_EVEN と PHP_ROUND_HALF_ODD

偶数・奇数への丸めを行うモードの例です。

<?php
    echo(round(9.9, 0, PHP_ROUND_HALF_EVEN) . "<br>");
    echo(round(-9.8, 0, PHP_ROUND_HALF_EVEN) . "<br>");
    echo(round(11.8, 0, PHP_ROUND_HALF_ODD) . "<br>");
    echo(round(-11.8, 0, PHP_ROUND_HALF_ODD));
?>

実行結果

10
-10
12
-12

PHP_ROUND_HALF_EVEN は最も近い偶数へ、PHP_ROUND_HALF_ODD は最も近い奇数へ丸めます。統計処理などで誤差を抑えたい場合には、PHP_ROUND_HALF_EVEN がよく使われます。

まとめ

round()関数を使えば、精度(小数点以下の桁数)と丸めモードを柔軟に指定して数値を丸めることができます。通常の四捨五入ならデフォルト設定で十分ですが、業務要件によって切り上げ・切り下げ・偶数丸めなどを使い分けることで、より正確な数値処理が可能になります。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. 【PHP入門】round()関数の使い方 – 数値を四捨五入する方法と丸めモードの解説

    PHPのround()関数は、浮動小数点数(float型)の数値を指定した桁数で四捨五入するための関数です。例えば、0.90 を 1 に、0.35 を 0 のように丸めることができます。金額計算や表示用の数値整形など、さまざまな場面で活用される基本的な関数の一つです。 round()関数の基本構文 round(val, precision, mode) 引数はすべて省略可能な形で、precision と mode を指定しない場合は、小数第一位で四捨五入されます。 パラメータの詳細 val ― 四捨五入の対象となる数値を指定します。 precision ― 小数点以下の何桁まで丸めるかを