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

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

PHPマニュアル

目次

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関数との組み合わせを検討し、必要に応じて状況に応じた関数を選択することで、より精密な数値処理が可能になります。

round関数

floor関数が「無条件に切り捨て」を行うのに対し、round関数は「四捨五入」を行います。この2つの関数を理解することで、PHPでの数値処理が一層柔軟になります。

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
?>

round関数とfloor関数を使い分けるポイントは、どのような数値結果を求めるかによります。round関数は端数を四捨五入して自然な数値にしたい場合、floor関数は切り捨てて確実に整数を得たい場合に有効です。各関数の特性を理解し、適切に使い分けることで、PHPでの数値処理が一層正確かつ効率的になります。

ceil関数で小数点切り上げ

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

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

このコードではceil関数で3.2が4に切り上げられて出力します。ceil関数を使う場面は価格計算や商品の個数の決定のタイミングが挙げられます。必要な部品の個数を計算する場合、3.1個分の材料が必要であれば、切り上げて4個とすることで不足を防ぐ。余裕を持った計算結果を出したい場合や切り捨てによる誤差が許されない場合に、この関数を活用しましょう。

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

数値操作でエラーを防ぐ

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

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

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

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

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

まとめ

本記事では、PHPにおける小数点処理について解説しました。

小数点以下の切り捨てにはfloor関数を、四捨五入にはround関数を使用し、各関数の特徴を理解することで適切な数値処理が可能です。floor関数は小数点以下を無条件に切り捨て、安定した整数値が必要な場合に有効です。

一方、round関数は自然な形で数値を丸め、精度の高い結果を求める場面に向いています。PHPでの数値処理を正確に行うためには、これらの関数を場面に応じて使い分け、エラーの防止にも配慮しましょう。

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

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

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

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

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

この記事を書いた人

WithCode(ウィズコード)は「目指すなら稼げる人材」というコンセンプトを掲げ、累計300名以上の卒業生を輩出してきたプログラミングスクールです。Web制作・Webデザインに関する役立つ情報や有意義な情報を発信していきます。

– service –WithCodeの運営サービス

  • WithCode
    - ウィズコード -

    スクール

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

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

    実案件サポート

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

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

    就転職サポート

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

    詳細はこちら

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

目次