PHPで数値を丸める方法として、四捨五入、切り上げ、切り捨ての3つの関数の使い方を解説します。

PHPで数値を丸める方法について教えてくれませんか?



もちろんです。PHPでは、数値を丸めるために、四捨五入、切り上げ、切り捨ての3つの方法があります。それぞれの方法について、サンプルプログラムを交えて解説しますね。
PHPで数値を丸める3つの方法
PHPには以下の3つの数値丸め関数があります。
- round関数: 四捨五入
- ceil関数: 切り上げ
- floor関数: 切り捨て
四捨五入(round関数)の使い方
round関数は、数値を四捨五入するために使用されます。数値を指定した桁数で四捨五入することができます。基本的な使い方は以下の通りです。
基本的な使い方
$number = 1.5;
$rounded = round($number);
echo $rounded; // 出力: 2
この例では、1.5が四捨五入されて2になります。
指定した桁数での四捨五入
round関数は、第2引数に桁数を指定することで、特定の桁数で四捨五入を行うことができます。
$number = 1.555;
$rounded = round($number, 2);
echo $rounded; // 出力: 1.56
この例では、小数第2位までの桁数を指定して四捨五入しています。1.555が1.56に四捨五入されます。
負の数の四捨五入
round関数は負の数も四捨五入することができます。
$number = -1.5;
$rounded = round($number);
echo $rounded; // 出力: -2
この例では、-1.5が-2に四捨五入されます。
- round($number): 数値を最も近い整数に四捨五入します。
- round($number, $precision): 指定した桁数で四捨五入します。
- round($number, $precision, PHP_ROUND_HALF_UP): 四捨五入のモードを指定できます。
切り上げ(ceil関数)の使い方
ceil関数は、数値を切り上げるために使用されます。小数点以下の値がある場合、常に次の整数に切り上げます。基本的な使い方は以下の通りです。
基本的な使い方
$number = 1.2;
$ceilNumber = ceil($number);
echo $ceilNumber; // 出力: 2
この例では、1.2が切り上げられて2になります。
負の数の切り上げ
ceil関数は負の数も切り上げることができます。この場合、数値が0に近づく方向に切り上げられます。
$number = -1.2;
$ceilNumber = ceil($number);
echo $ceilNumber; // 出力: -1
この例では、-1.2が切り上げられて-1になります。
- ceil($number): 数値を次の整数に切り上げます。
数値 | ceil関数の出力 |
---|---|
1.2 | 2 |
1.8 | 2 |
-1.2 | -1 |
-1.8 | -1 |
ceil関数を使用することで、数値を常に次の整数に切り上げることができ、必要な場合には負の数も適切に処理することができます。
切り捨て(floor関数)の使い方
floor関数は、数値を切り捨てるために使用されます。小数点以下の値がある場合、常に次の整数に切り捨てます。基本的な使い方は以下の通りです。
基本的な使い方
$number = 1.8;
$floorNumber = floor($number);
echo $floorNumber; // 出力: 1
この例では、1.8が切り捨てられて1になります。
負の数の切り捨て
floor関数は負の数も切り捨てることができます。この場合、数値が0から遠ざかる方向に切り捨てられます。
$number = -1.8;
$floorNumber = floor($number);
echo $floorNumber; // 出力: -2
この例では、-1.8が切り捨てられて-2になります。
まとめ
- floor($number): 数値を次の整数に切り捨てます。
数値 | floor関数の出力 |
---|---|
1.2 | 1 |
1.8 | 1 |
-1.2 | -2 |
-1.8 | -2 |
floor関数を使用することで、数値を常に次の整数に切り捨てることができ、必要な場合には負の数も適切に処理することができます。
サンプルプログラム
以下は、PHPで数値を四捨五入、切り上げ、切り捨てるためのサンプルプログラムです。これらの関数の使い方を一つのプログラムでまとめています。
<?php
// 数値の配列
$numbers = [1.2, 1.5, 1.8, -1.2, -1.5, -1.8];
// 結果を保存する配列
$results = [];
// 各数値に対してround, ceil, floor関数を適用
foreach ($numbers as $number) {
$results[] = [
'number' => $number,
'rounded' => round($number),
'ceil' => ceil($number),
'floor' => floor($number)
];
}
// 結果を表示
echo "<table border='1'>";
echo "<tr><th>数値</th><th>四捨五入 (round)</th><th>切り上げ (ceil)</th><th>切り捨て (floor)</th></tr>";
foreach ($results as $result) {
echo "<tr>";
echo "<td>{$result['number']}</td>";
echo "<td>{$result['rounded']}</td>";
echo "<td>{$result['ceil']}</td>";
echo "<td>{$result['floor']}</td>";
echo "</tr>";
}
echo "</table>";
?>
このプログラムは、数値の配列をループし、それぞれの数値に対してround関数、ceil関数、floor関数を適用し、その結果をHTMLの表形式で表示します。
実行結果
数値 | 四捨五入 (round) | 切り上げ (ceil) | 切り捨て (floor) |
---|---|---|---|
1.2 | 1 | 2 | 1 |
1.5 | 2 | 2 | 1 |
1.8 | 2 | 2 | 1 |
-1.2 | -1 | -1 | -2 |
-1.5 | -1 | -1 | -2 |
-1.8 | -2 | -1 | -2 |
このように、round、ceil、floor関数を使って数値を丸める方法を簡単に理解できるサンプルプログラムです。
まとめ
- round関数:
- 数値を四捨五入する
- 指定した桁数で四捨五入が可能
- ceil関数:
- 数値を次の整数に切り上げる
- 負の数も0に近づく方向に切り上げる
- floor関数:
- 数値を次の整数に切り捨てる
- 負の数も0から遠ざかる方向に切り捨てる



数値の丸め方はプログラミングにおいて非常に重要です。適切な関数を使うことで、計算結果を正確に制御することができます。どの関数を使うべきかをしっかりと理解しておくと、コードの品質が向上します。