毎日のプログラミングでは、価格を扱うときに小数が丸くなることがよくあります。特にショッピングのウェブサイトや請求システムでは、通常、価格は小数点以降に1桁にすることはできません。または、特定のルールに従って切り上げる必要があります。 PHPはCEIL()関数を提供します。これにより、この機能を簡単に実装できます。
CEIL()関数は、PHPの数学的関数であり、浮動数を最も近い整数に切り上げます。つまり、 ceil()は、分数部分が非常に小さい場合でも、常に次の整数まで浮動値を丸くします。
<span><span><span class="hljs-title function_ invoke__">ceil</span></span><span>(</span><span><span class="hljs-keyword">float</span></span><span> </span><span><span class="hljs-variable">$value</span></span><span>): </span><span><span class="hljs-keyword">float</span></span><span>
</span></span>
$値は、丸みを帯びているフローティング番号です。
関数の返品値は、通常は整数であるフローティングタイプ値です。
19.2人民元の製品があると仮定し、それをRMB 20まで切り上げたいとします。その後、 CEIL()関数を使用してこれを簡単に実現できます。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$price</span></span><span> = </span><span><span class="hljs-number">19.2</span></span><span>;
</span><span><span class="hljs-variable">$roundedPrice</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ceil</span></span><span>(</span><span><span class="hljs-variable">$price</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"切り上げ後の価格はです: "</span></span><span> . </span><span><span class="hljs-variable">$roundedPrice</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
出力:
<span><span><span class="hljs-section">切り上げ後の価格はです: 20</span></span><span>
</span></span>
上記の例では、天井(19.2)が20を返すことがわかり、小数部が0.2であっても、さらに20の丸みがあります。
eコマースプラットフォームでは、製品の価格は、割引や税金の後の価格など、特定の計算を通じて処理する必要があることがよくあります。現時点では、 CEIL()関数を使用して、最終価格が常に整数であり、商人の価格設定ルールに準拠していることを確認できます。
特定の製品の元の価格が99.99元であると仮定すると、10%の割引を適用した後、価格が整数に上方に丸くなることを願っています。これを実装する方法の例は次のとおりです。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$originalPrice</span></span><span> = </span><span><span class="hljs-number">99.99</span></span><span>;
</span><span><span class="hljs-variable">$discount</span></span><span> = </span><span><span class="hljs-number">0.10</span></span><span>;
</span><span><span class="hljs-variable">$discountedPrice</span></span><span> = </span><span><span class="hljs-variable">$originalPrice</span></span><span> * (</span><span><span class="hljs-number">1</span></span><span> - </span><span><span class="hljs-variable">$discount</span></span><span>);
</span><span><span class="hljs-comment">// 使用 ceil() 上に丸くします</span></span><span>
</span><span><span class="hljs-variable">$finalPrice</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ceil</span></span><span>(</span><span><span class="hljs-variable">$discountedPrice</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"折扣后上に丸くします的价格为: "</span></span><span> . </span><span><span class="hljs-variable">$finalPrice</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
出力:
<span><span><span class="hljs-section">折扣后上に丸くします的价格为: 90</span></span><span>
</span></span>
この例では、割引後の価格は89.991元であり、エンドユーザーが整数価格を確認するためにceil()関数を使用した後、丸めは90元です。
一部の請求システムでは、特に時間給や日などの請求方法では、 CEIL()関数も非常に便利です。たとえば、サービスのコストは1時間ごとに計算され、ユーザーが2.5時間のサービスを使用する場合、コストは3時間ベースで計算する必要があります。 CEIL()を使用して、小数点によって引き起こされる価格エラーを回避します。
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-variable">$hourlyRate</span></span><span> = </span><span><span class="hljs-number">50</span></span><span>; </span><span><span class="hljs-comment">// 1時間ごとの料金</span></span><span>
</span><span><span class="hljs-variable">$usageTime</span></span><span> = </span><span><span class="hljs-number">2.5</span></span><span>; </span><span><span class="hljs-comment">// 使用時間です 2.5 時間</span></span><span>
</span><span><span class="hljs-comment">// 计算总费用并上に丸くします</span></span><span>
</span><span><span class="hljs-variable">$totalFee</span></span><span> = </span><span><span class="hljs-title function_ invoke__">ceil</span></span><span>(</span><span><span class="hljs-variable">$usageTime</span></span><span>) * </span><span><span class="hljs-variable">$hourlyRate</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"総コストはです: "</span></span><span> . </span><span><span class="hljs-variable">$totalFee</span></span><span> . </span><span><span class="hljs-string">" 元"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>
出力:
<span><span><span class="hljs-section">総コストはです: 150 元</span></span><span>
</span></span>
この例では、使用時間は2.5時間です。 1時間あたり50元の充電基準によれば、天井(2.5)は3時間に丸められ、最終的に総コストは150元です。
PHPは、CEIL()関数と同様のいくつかの丸め関数を提供します。各関数には異なる丸めルールがあり、異なるシナリオに適しています。
floor() :数字を下に丸めます。たとえば、フロア(4.7)の結果は4です。
round() :丸い。たとえば、ラウンド(4.5)の結果は4であり、ラウンド(4.6)の結果は5です。
intval() :数値を整数に変換し、通常は分数部分を破棄します。たとえば、 intval(4.9)の結果は4です。
価格計算のために、 CEIL()関数は、特に「キャリー」が必要なシナリオでは、最終結果が実際の値を下回らないようにするのに理想的です。
CEIL()関数は非常に実用的なPHP数学関数であり、特に浮動数を上方に丸める必要があるシナリオに適しています。電子商取引プラットフォームの価格計算、割引後の価格処理、請求システムでの価格計算であれ、 CEIL()は、計算結果が期待を満たし、小数部品によって引き起こされる不正確な計算を回避するのに役立ちます。この関数を習得すると、価格とコストの計算の問題をより柔軟に処理できます。