Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

PHP辞典

  1. トップページ
  2. PHP辞典
  3. round() / ceil() / floor()

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()』は引数と同じ型で絶対値を返します。

サンプルコード
<?php
// round() で四捨五入します。
echo round(3.5); // 『4』と出力されます。
echo round(3.4); // 『3』と出力されます。

// 小数点以下の桁数を指定します。
echo round(3.14159, 2); // 小数第2位まで丸めて『3.14』と出力されます。
echo round(3.14159, 4); // 小数第4位まで丸めて『3.1416』と出力されます。

// 負の桁数を指定すると10の位・100の位で丸められます。
echo round(1234, -2); // 100の位で丸めて『1200』と出力されます。
echo round(1250, -2); // 『1300』と出力されます。

// ceil() で切り上げます。
echo ceil(4.1); // 『5』と出力されます。
echo ceil(4.9); // 『5』と出力されます。
echo ceil(-4.1); // 負の数では0に近い方向に切り上がり『-4』と出力されます。

// ページネーションの総ページ数を計算する実用例
$total_items = 53;
$per_page = 10;
$total_pages = ceil($total_items / $per_page);
echo $total_pages; // 『6』と出力されます。53件を10件ずつ表示すると6ページ必要です。

// floor() で切り捨てます。
echo floor(4.9); // 『4』と出力されます。
echo floor(-4.9); // 負の数では0から遠い方向に切り捨てられ『-5』と出力されます。

// abs() で絶対値を取得します。
echo abs(-100); // 『100』と出力されます。
echo abs(100); // 『100』と出力されます。

// 2つの値の差を求める実用例
$target = 50;
$actual = 73;
echo abs($target - $actual); // どちらが大きくても正の値で『23』と出力されます。
概要

『round()』は数値の四捨五入を行う関数です。第2引数の『$precision』で丸める桁数を指定でき、正の値なら小数点以下の桁数、負の値なら10の位や100の位での丸めが可能です。浮動小数点数の演算には誤差が生じる場合があるため、金額計算などの正確さが求められる場面では BCMath 関数の使用を検討してください。

『ceil()』と『floor()』は負の数に対する動作が直感と異なる場合があります。『ceil()』は常に大きい方向へ、『floor()』は常に小さい方向へ丸めます。そのため『ceil(-4.1)』は『-4』に、『floor(-4.9)』は『-5』になります。

『abs()』は差分計算や距離計算で活用されます。数値のフォーマットには『number_format()』を、型変換には『intval()』を使用してください。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。