【PHP入門】round()関数の使い方 – 数値を四捨五入する方法と丸めモードの解説
PHPのround()関数は、浮動小数点数(float型)の数値を指定した桁数で四捨五入するための関数です。例えば、0.90 を 1 に、0.35 を 0 のように丸めることができます。金額計算や表示用の数値整形など、さまざまな場面で活用される基本的な関数の一つです。
round()関数の基本構文
round(val, precision, mode)
引数はすべて省略可能な形で、precision と mode を指定しない場合は、小数第一位で四捨五入されます。
パラメータの詳細
val ― 四捨五入の対象となる数値を指定します。
precision ― 小数点以下の何桁まで丸めるかを指定します(精度)。負の値を指定すると、整数部分の位を丸めることも可能です。
mode ― 丸めの方式(丸めモード)を指定する定数です。以下の4種類が用意されています。
PHP_ROUND_HALF_UP ― 値がちょうど半分の場合に切り上げます。
1.5は2に、-1.5は-2になります。デフォルトのモードです。PHP_ROUND_HALF_DOWN ― 値がちょうど半分の場合に切り下げます。
1.5は1に、-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()関数を使えば、精度(小数点以下の桁数)と丸めモードを柔軟に指定して数値を丸めることができます。通常の四捨五入ならデフォルト設定で十分ですが、業務要件によって切り上げ・切り下げ・偶数丸めなどを使い分けることで、より正確な数値処理が可能になります。
-
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
-
【PHP入門】round()関数の使い方 – 数値を四捨五入する方法と丸めモードの解説
PHPのround()関数は、浮動小数点数(float型)の数値を指定した桁数で四捨五入するための関数です。例えば、0.90 を 1 に、0.35 を 0 のように丸めることができます。金額計算や表示用の数値整形など、さまざまな場面で活用される基本的な関数の一つです。 round()関数の基本構文 round(val, precision, mode) 引数はすべて省略可能な形で、precision と mode を指定しない場合は、小数第一位で四捨五入されます。 パラメータの詳細 val ― 四捨五入の対象となる数値を指定します。 precision ― 小数点以下の何桁まで丸めるかを