PHPでは、浮動小数点数を処理するときに「丸みを帯びている」必要があるシナリオに遭遇することがよくあります。現時点では、 CEIL()とround()が2つの最も一般的な関数です。それらはすべて、整数変換に対する浮動小数点数を伴いますが、それらの動作は該当するシナリオとは大きく異なります。この記事では、これら2つの機能の違いを深く紹介し、適切な使用シナリオを分析します。
ceil()は、英語の天井(天井)の略語です。名前が示すように、その機能は数値を上方に丸めることです。部分的な部分に関係なく、整数でない限り、 ceil()はそれを追加し、最も近い大きな整数を返します。
ご覧のとおり、 ceil()は正の数値で「1つ追加」していますが、負の数の場合、「ゼロ」の方向に丸められます。つまり、「小さくなります」です。
ページングロジックのページの総数を計算<br> レコードの総数とページごとに表示されるピースの数を知っている場合、通常、 ceil()を使用してページの総数を計算する必要があります。
<code> $ total_items = 105; $ items_per_page = 10; $ total_pages = ceil($ total_items / $ items_per_page); //結果は11 </code>です損失を回避するために価格が切り上げられます<br> たとえば、電子商取引ウェブサイトに最低支払い額を設定する場合、割引価格を切り上げる必要がある場合があります。
<code> $ distimented_price = 19.2; $ final_price = ceil($ discounded_price); //結果は20 </code>ですround()は、数値を丸める関数であり、数値をより「人間」にすることができます。デフォルトでは、小数点を丸めます。または、2番目のパラメーターを介して小数点以下の場所の数を指定できます。
PHPのRound()が「銀行丸め方」を使用していることは注目に値します。 .5の終わりに小数を処理する場合、前の数字が偶数であるかどうかに応じて放棄するか、持ち運ぶかを決定します。
<code>エコーラウンド(2.5); //出力2エコーラウンド(3.5); //出力4 </code>これにより、多数の数字が蓄積するとエラーが回避されます。
ユーザーフレンドリーな値を表示<br> たとえば、製品の評価を表示する場合:
<code> $ verage_rating = 4.666;エコーラウンド($ agread_rating、1); //出力4.7 </code>金融および会計システムの数値バランス<br> 銀行家の丸め方法は、累積エラーを減らすことができるため、財務統計でよく使用されます。
<Code> $ Price = 2.5; $ rounded = round($ rice); //結果は2 </code>ですチャートデータ処理<br> チャートでは、適切な丸めがデータをより直感的で理解しやすくすることができます。
<Code> $パーセンテージ=(45 /123) * 100;エコーラウンド($パーセンテージ、2); //出力36.59 </code>関数 | 行動 | シナリオを使用します |
---|---|---|
ceil() | 上に丸くします | ページングロジック、値が元の値よりも小さいことを保証します |
ラウンド() | 丸め(偶数の方法) | 人間化されたディスプレイ、財務計算、チャート精度制御 |
ceil()またはround()を使用することを選択する場合、キーは、結果が元の値( ceil()を使用して)以上であることを確認するか、結果を元の値の「平均」表現( round()を使用して)に近づけるかどうかです。
たとえば、在庫ページングディスプレイでこのようなページング機能を使用して、eコマースバックエンド管理システムを開発しています。
<code>関数getTotalPages($ total_items、$ items_per_page){return ceil($ total_items / $ items_per_page); } </code>そして、ユーザーの満足度評価システムを扱っている場合、これを行うことができます。
<code> function formatrating($ rating){return Round($ rating、1); } </code>