WithCodeMedia-1-pc
WithCodeMedia-2-pc
WithCodeMedia-3-pc
WithCodeMedia-4-pc
previous arrowprevious arrow
next arrownext arrow

WithCodeMedia-1-sp
WithCodeMedia-2-sp
WithCodeMedia-3-sp
WithCodeMedia-4-sp
previous arrowprevious arrow
next arrownext arrow

PHP必見テクニック!小数点の切り捨て・切り上げ・四捨五入の方法をわかりやすく解説

生徒

ペン博士!この前PHPで計算したら、小数点がたくさん出てきてしまって…。例えば3.14159を ‘3.14’ みたいに処理したい時ってどうすればいいんですか?

ペン博士

良い質問じゃ!PHPには小数点を処理するための関数が用意されておる。詳しく解説するからよーく聞くんじゃぞ!

生徒

はい!お願いします!

PHPでの小数点処理、特に切り捨て方法に悩んでいませんか?PHPを扱い始めたばかりの方に向けてPHPでの小数点切り捨て方法をわかりやすく解説します。floor関数やround関数などの使い分けをマスターし、数値操作を効率化させましょう。

PHPの公式情報は以下からご確認ください。

PHPマニュアル

「学習→案件獲得」につなげた受講生のリアルな体験談も公開中!
働き方を変えたい方にも響くストーリーです。

片山さん
妊娠をきっかけに、子どものためにもどこでも働けるスキルを身に付けたいと考える。そこで、オンラインスクールのfammで1ヶ月間Web制作の勉強を開始。その後、独学で勉強に励むも限界を感じ、案件保証が魅力のWithCodeへ入学し、稼げる力を身に付けることができた。現在は副業として稼ぐ力を身に付け、10件以上の案件を担当するまでに成長した。

詳しくはこちらの記事をご覧ください。

片山さんの主な制作実績はこちら

目次

PHPでの小数点処理方法

floor関数を使った小数点切り捨て

PHPで小数点以下を切り捨てる際、最も基本的でよく使われるのがfloor関数です。floor関数は、与えられた数値を「小数点以下切り捨て」で返す仕組みを持っており、負の数値の場合も0に近づくように切り捨てられます。たとえば、5.8という値を渡すと、結果は5となります。-4.8という値を渡すと、結果は-5となりこの関数は、計算の精度が重要で、少数を切り捨てる必要がある場面で役立ちます。

floor関数の基本的な使い方を以下に示します。

<?php
$number = 5.8;
echo floor($number); // 出力は5
?>

上記のコードでは、変数$numberに格納された5.8が、floor関数によって小数点以下が切り捨てられ、結果として5が出力されます。このように簡単な構文で使用できるため、数値操作に慣れていない初学者でも扱いやすい点が特徴です。

floor関数は、負の数に対しても同様に小数点以下を切り捨てますが、負の方向へ丸められる点に注意が必要です。たとえば、-5.8という数値を切り捨てると、結果は-6になります。正負の計算で誤差を生じやすい場合のプロジェクトにおいて、floor関数が適切かどうか確認しながら進めていきましょう。

<?php
$number = -5.8;
echo floor($number); // 出力は-6
?>

floor関数は便利ですが、四捨五入や切り上げとは異なり、小数点以下を無条件に切り捨てるため、予期せぬ結果になることもあります。

ペン博士

場合によってはround関数との組み合わせを検討し、必要に応じて状況に応じた関数を選択することで、より精密な数値処理が可能になるぞ。

ceil関数で小数点切り上げ

floor関数が「無条件に切り捨て」を行うのに対し、ceil関数は「無条件に切り上げ」を行います。

ceil関数は、引数として渡された数値を「次の整数」に切り上げるため、例えば3.2であれば4に、5.7であれば6に変換します。

<?php
$number = 3.2;
echo ceil($number);  // 出力結果:4
?>

このコードではceil関数で3.2が4に切り上げられて出力し、ceil関数を使う場面は価格計算や商品の個数の決定のタイミングが挙げられます。必要な部品の個数を計算する場合、3.1個分の材料が必要であれば、切り上げて4個とすることで不足を防ぎます。

ペン博士

余裕を持った計算結果を出したい場合や切り捨てによる誤差が許されない場合に、この関数を活用するのじゃ。

round関数

round関数は小数点以下を四捨五入して数値を返す関数です。使い方もシンプルで、関数に対象となる数値を渡すだけで小数点以下を四捨五入した値を取得できます。

基本的な例は以下の通りです。

<?php
$number = 5.5;
echo round($number); // 出力は6
?>

このコードでは、5.5が四捨五入され、出力は6になります。PHPでは、round関数にもう1つ引数を指定することで、任意の小数点以下で四捨五入することも可能です。たとえば、小数点以下2桁で丸める場合は次のように記述します。

<?php
$number = 5.567;
echo round($number, 2); // 出力は5.57
?>

各関数を使い分けるポイントは、どのような数値結果を求めるかによります。

ペン博士

各関数の特性を理解し、適切に使い分けることで、PHPでの数値処理が一層正確かつ効率的になるぞ。

PHPプログラムの精度を高めるポイント

ペン博士

ここでは、PHPプログラムの精度を高めるポイントを解説するぞ。

数値操作でエラーを防ぐ

PHPでの数値操作では、細心の注意が求められます。特に小数点以下の切り捨てや四捨五入の操作では、誤差や意図しない結果が発生しやすいため、プログラムの精度を保つための工夫が必要です。PHPでは数値を扱う際に、数値型の違いや数値精度の扱いによってエラーが生じる可能性があるため、以下のような注意点を押さえることが大切です。

PHPの数値操作では、変数のデータ型が原因で予期せぬエラーが発生することがあります。例えば、整数と小数を混在させた計算や、文字列が含まれていると計算が正しく行われないことがあります。そのため、数値操作の前にis_numeric関数を利用してデータ型をチェックし、確実に数値であることを確認する習慣をつけましょう。

<?php
$input = "5.8";
if (is_numeric($input)) {
    echo floor($input); // 出力は5
} else {
    echo "数値以外が入力されています";
}
?>

PHPのエラー制御演算子(@)を数値操作に使うことは避けましょう。この演算子を使うとエラーが表示されなくなり、デバッグ(プログラムのバグを見つけて修正する作業)が困難になるため、できる限りエラーが起こった時の操作を適切に行うことが重要です。例えば、ゼロで割る場合のエラーを防ぐために、事前に分母がゼロでないかをチェックする処理を挿入すると良いでしょう。

このように、数値操作の際にエラーを未然に防ぐ工夫をすることで、PHPプログラムの信頼性と精度が向上し、予期せぬバグや計算エラーの発生を抑えることができます。

生徒

floor()、ceil()、round()の3つを覚えておけば、小数点の処理はバッチリですね!

ペン博士

その通りじゃ実務では『どの場面で切り捨てるか、または切り上げるか』『どの場面で四捨五入するか』を間違えないことが大切じゃ。使い分けを意識すれば、より正確で信頼できるプログラムが作れるようになるぞい。

生徒

ありがとうございます!勉強になりました!

まとめ

本記事では、PHPにおける小数点処理について解説しました。要点は以下の通りです。

floor()関数(切り捨て)
・小数点以下を無条件に切り捨て
・常に安定した整数値を返す

ceil()関数(切り上げ)
・小数点以下を条件に切り上げ
・常に元の数値以上の整数を返す

round()関数(四捨五入)
・小数点以下を四捨五入
・自然で直感的な丸め処理を行える

PHPでの数値処理を正確に行うためには、これらの関数を場面に応じて使い分け、エラーの防止にも配慮しましょう。

WithCodeを体験できる初級コース公開中!

初級コース(¥49,800)が完全無料に!

  • 期間:1週間
  • 学習内容:
    ロードマップ/基礎知識/環境構築/HTML/CSS/LP・ポートフォリオ作成
    正しい学習方法で「確かな成長」を実感できるカリキュラム。

副業・フリーランスが主流になっている今こそ、自らのスキルで稼げる人材を目指してみませんか?

未経験でも心配することありません。初級コースを受講される方の大多数はプログラミング未経験です。まずは無料カウンセリングで、悩みや不安をお聞かせください!

この記事を書いた人

WithCode(ウィズコード)は「目指すなら稼げる人材」をビジョンに、累計400名以上のフリーランスを輩出してきた超実践型プログラミングスクールです。150社以上の実案件支援を特徴にWeb制作・Webデザインなどの役立つ情報を現場のノウハウに基づいて発信していきます。

– service –WithCodeの運営サービス

  • WithCode
    - ウィズコード -

    スクール

    「未経験」から
    現場で通用する
    スキルを身に付けよう!

    詳細はこちら
  • WithFree
    - ウィズフリ -

    実案件サポート

    制作会社のサポート下で
    実務経験を積んでいこう!

    詳細はこちら
  • WithCareer
    - ウィズキャリ -

    就転職サポート

    大手エージェントのサポート下で
    キャリアアップを目指そう!

    詳細はこちら

公式サイト より
今すぐ
無料カウンセリング
予約!

目次