現在の位置: ホーム> 最新記事一覧> PHPのCEIL()関数とFloor()関数の違いは何ですか?どちらが上向きに丸くなるのにもっと適していますか?

PHPのCEIL()関数とFloor()関数の違いは何ですか?どちらが上向きに丸くなるのにもっと適していますか?

M66 2025-06-15

PHP開発では、浮動小数点数を処理するときに値を上下に丸める必要があることがよくあります。 PHPは、2つの非常に実用的な数学的関数を提供します: ceil()floor() 。それらの機能は似ているようですが、実際には本質的な違いがあります。この記事では、これら2つの関数の違いを詳細に分析し、上向きの丸めが必要なシナリオで使用するためにより適している関数を調べます。

ceil()関数の関数

CEIL()関数の関数は、上向きに丸めることです。分数部分に関係なく、小数がある限り、それはそれ以上の数を最小の整数に上げます。

サンプルコード:

 <?php
echo ceil(4.3);  // 出力 5
echo ceil(9.999); // 出力 10
echo ceil(-3.1);  // 出力 -3
?>

上記のように、 CEIL(4.3)5を返します。つまり、 4.3より大きい最小の整数が4.3よりも大きいですが、-3-3-3.1を超える最小の整数であるため-3を返します。

フロア()関数の関数

CEIL()とは対照的に、 Floor()関数は丸めて使用されます。常に元の数値以下の最大整数を返します。

サンプルコード:

 <?php
echo floor(4.7);  // 出力 4
echo floor(9.999); // 出力 9
echo floor(-3.1);  // 出力 -4
?>

負の数値を処理する場合、 floor()の動作は「よりネガティブ」であり、たとえばフロア(-3.1)は-3ではなく-4を出力することに注意してください。

ceil()とfloor()の本質的な違い

概要は次のとおりです。

関数丸め/下ポジティブなパフォーマンスネガティブパフォーマンス
ceil()上に丸くします上方(大きい)上向き(否定的です)
床()丸めますダウン(小さい)下向き(負の数が大きい)

この違いは、負の数に対処する必要がある場合に特に重要です。たとえば、ユーザーポイントシステムでは、ポイントを「もっと」控除したい場合は、選択する機能に特別な注意を払う必要がある場合があります。

上向きの丸めに適した関数はどれですか?

まとめる必要がある場合は、 ceil()関数を使用する必要があることは間違いありません。 CEIL()の元の意図は、小数がある場合、常に元の数よりも大きい最小の整数を常に返すことです。

たとえば、APIリクエストがある場合、 https ://m66.net/api/get_list.php?total=53&per_page=10には、ページの総数を計算する必要があります。

 <?php
$total = 53;
$perPage = 10;
$pages = ceil($total / $perPage);
echo $pages; // 出力 6
?>

フロア()を誤用すると、結果は5ページになり、ユーザーは最後の3つのデータを表示できません。

要約します

  • CEIL() :まとめ、元の値を「少なくとも」上書きしたいシナリオに適しています。

  • Floor() :元の値を超えないだけのアプリケーションに適しています。

したがって、上向きの丸めが必要なシナリオでは、 CEIL()関数がより適切な選択です。これらの2つの機能のニュアンスを理解することは、浮遊点数を処理する際に開発者がより正確で効率的になるのに役立ちます。