2025/10/20
【PHP】数値の小数点を「切り上げ・切り捨て・四捨五入」する方法
PHPで小数点や整数の位を調整したいとき、「切り上げ」「切り捨て」「四捨五入」が使われる場面が多々あります。今回は、PHPにおける標準関数の ceil()(切り上げ)、floor()(切り捨て)、round()(四捨五入)をご紹介します。
「位を変える」必要がある場合とは
例として、商品価格の端数処理、データ集計時の桁落ち防止など、扱う数値を「どの桁で揃えるか」「小数をどう処理するか」などといった場合に使用されます。
これらの処理はPHPにおいて関数ひとつで対応できるため、「まずどの関数を使うか」を理解する必要があります。
切り上げ:ceil()関数
ceil()関数を使うと、小数点以下を必ず上方向(より大きな整数)に丸める(切り上げる)ことができます。
echo ceil(1.23); // 出力:2 echo ceil(-1.23); // 出力:-1
上記の例では、「1.23」を切り上げて「2」になり、マイナス値の場合「-1.23」を切り上げると「-1」(0に近くなる)になります。
また、少数第2位など、ある特定の桁で切り上げたい場合は、次のようになります。
// 小数点第二位まで切り上げる場合 echo (ceil(1.234 * 10) / 10); // 出力:1.3 // 小数点第三位まで切り上げる場合 echo (ceil(1.234 * 100) / 100); // 出力:1.24
切り捨て:floor()関数
floor()関数を使うと、小数点以下を必ず下方向(より小さな整数)に丸める(切り捨てる)ことができます。
echo floor(1.23); // 出力:1 echo floor(-1.23); // 出力:-2
上記の例では、「1.23」を切り捨てて「1」になり、マイナス値の場合「-1.23」を切り捨てると「-2」(0に離れる)になります。
また、少数第2位など、ある特定の桁で切り捨てたい場合は、次のようになります。
// 小数点第二位まで切り捨てる場合 echo (floor(1.234 * 10) / 10); // 出力:1.2 // 小数点第三位まで切り捨てる場合 echo (floor(1.234 * 100) / 100); // 出力:1.23
四捨五入:round()関数
round()関数を使うと、四捨五入して値を丸めることができ、「0.5以上で切り上げ、それ未満で切り捨て」の処理を行います。
echo round(1.23); // 出力:1 echo round(4.56); // 出力:5
また、切り上げ・切り捨て同様マイナスの数値や位を指定して四捨五入することも可能です。
echo round(-1.23); // 出力:-1 echo round(-4.56); // 出力:-5 // 小数点第一位(整数部)で四捨五入 echo round(1.234); // 出力:1 // 小数点第二位(小数1位)で四捨五入 echo round(1.234, 1); // 出力:1.2 // 小数点第三位(小数2位)で四捨五入 echo round(1.234, 2); // 出力:1.23
まとめ
「丸めた後の数値をどう使うか(表示・計算・条件判定など)」まで視野に入れてコード設計をすると、後から修正する手間も減ります。ぜひPHP開発時に活用してみてください。
コーディング業務のご依頼、ご相談の詳細についてはこちらから
最後までお読みいただき、ありがとうございました。
よろしければシェアしていただければ幸いです。
前の記事へ |
WEB業界ならqam!qam(カム)はWEB業界で働く人や興味がある人に役立つ情報サイトです。
マーケティングやデザイン、マークアップ(コーディング)、プログラム、トレンドなどの情報をqamライター陣が執筆。噛めば噛むほど(読めば読むほど)制作・開発や運営・運用、業界知識やノウハウを学ぶことができます。