round() / ceil() / floor()
| 対応: | PHP 4(2000) |
|---|
数値の四捨五入、切り上げ、切り捨て、絶対値の取得を行います。金額計算や表示用の数値整形など、さまざまな場面で活用されます。
構文
// 四捨五入します。第2引数で小数点以下の桁数を指定できます round($number, $precision); // 切り上げます。小数部分がある場合は次の整数に繰り上げます ceil($number); // 切り捨てます。小数部分を切り捨てて整数にします floor($number); // 絶対値を返します abs($number);
関数一覧
| 関数 | 概要 |
|---|---|
| round($number, $precision) | 数値を四捨五入します。第2引数で小数点以下の桁数を指定でき、省略時は整数に丸めます。負の値を指定すると10の位・100の位で丸めることもできます。 |
| ceil($number) | 数値を切り上げて整数にします。小数部分が少しでもあれば次の整数に繰り上がります。 |
| floor($number) | 数値を切り捨てて整数にします。小数部分がすべて切り捨てられます。 |
| abs($number) | 数値の絶対値を返します。負の数は正の数に変換され、正の数とゼロはそのまま返されます。 |
戻り値
『round()』は丸めた数値を返します。引数が整数の場合は整数、浮動小数点数の場合は浮動小数点数を返します。『ceil()』と『floor()』は浮動小数点数を返し、『abs()』は引数と同じ型で絶対値を返します。
サンプルコード
sample_round.php
<?php // round() で四捨五入します echo round(3.5); echo round(3.4); // 小数点以下の桁数を指定します echo round(3.14159, 2); echo round(3.14159, 4); // 負の桁数を指定すると10の位・100の位で丸められます echo round(1234, -2); echo round(1250, -2); // ceil() で切り上げます echo ceil(4.1); echo ceil(4.9); echo ceil(-4.1); // ページネーションの総ページ数を計算する実用例 $total_items = 53; $per_page = 10; $total_pages = ceil($total_items / $per_page); echo $total_pages; // floor() で切り捨てます echo floor(4.9); echo floor(-4.9); // abs() で絶対値を取得します echo abs(-100); echo abs(100); // 2つの値の差を求める実用例 $target = 50; $actual = 73; echo abs($target - $actual);
round.php
php round.php 4 3 3.14 3.1416 1200 1300 5 5 -4 6 4 -5 100 100 23
概要
『round()』は数値の四捨五入を行う関数です。第2引数の『$precision』で丸める桁数を指定でき、正の値なら小数点以下の桁数、負の値なら10の位や100の位での丸めが可能です。浮動小数点数の演算には誤差が生じる場合があるため、金額計算などの正確さが求められる場面では BCMath 関数の使用を検討してください。
『ceil()』と『floor()』は負の数に対する動作が直感と異なる場合があります。『ceil()』は常に大きい方向へ、『floor()』は常に小さい方向へ丸めます。そのため『ceil(-4.1)』は『-4』に、『floor(-4.9)』は『-5』になります。
『abs()』は差分計算や距離計算で活用されます。数値のフォーマットには『number_format()』を、型変換には『intval()』を使用してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。