・どうやって小数点を切り捨てればいいの?
・ceil関数やround関数との違いは?
PHPで小数点を切り捨てることができるfloor関数ですが、詳しい意味や使い方を知らない人も多いでしょう。
そこでこの記事では、PHPでfloor関数を使って小数点を切り捨てる方法について解説していきます。
この記事を読めば、floor関数の使い方がわかり、小数点を切り捨てることができるでしょう。
PHPでfloor関数の使い方がわからない、ceil関数やround関数との違いを知りたい人は、ぜひ最後までご覧ください。
floor関数とは?
floor関数とは、端数の切り捨てを行う関数です。
1 |
floor(float $value) |
引数にfloat型の数値を渡すことで、端数(小数部分)を切り捨てた整数値をfloat型で返してくれます。
桁数が増えたとしても、小数点以下の数字はすべて切り捨てられます。
floor関数の使い方
floor関数は、端数の切り捨てを行ってくれる関数だとわかりました。
では、実際にどうやって使うのか。
ここでは、floor関数の使い方について解説していきます。
基本的な使い方
まず、floor関数の基本的な使い方です。
floor関数を実際のコードに書いて見ていきましょう。
1 2 3 |
<?php echo floor(2.3); ?> |
floor関数に「2.3」という数値を指定します。
floor関数は端数を切り捨てるための関数なので、結果は「2」と表示されるでしょう。
echoで出力すると、値は「2」と表示されました。
2.3という数値がfloor関数によって小数点以下を切り捨てられ、2になったのがわかりますね。
桁数を増やした場合の数値でも確かめてみましょう。
1 2 3 4 |
<?php echo floor(10.56)."<br>"; echo floor(1346.3567)."<br>"; ?> |
先ほどより桁数の多い「10.56」と「1346.3567」にfloor関数を指定してみます。
※brタグは改行させるために指定しています。
結果を表示すると、次のようになるでしょう。
「10.56」だった数値が「10」に、「1346.3567」だった数値が「1346」になっているのがわかりますね。
このように、floor関数を指定するだけで、簡単に小数点以下の切り捨てを行ってくれるのです。
負の数を切り捨てる方法
floor関数は、負の数であっても小数点以下を切り捨てることができます。
1 2 3 4 |
<?php echo floor(-2.3)."<br>"; echo floor(-10.56)."<br>"; ?> |
今回は、floor関数にマイナスをつけた数値「-2.3」「-10.56」を指定してみます。
floor関数に負の数を指定した場合の結果は、どのようになるのでしょうか。
結果は、「-3」と「-11」となりました。
今回の結果で、値が「-2」「-10」とならなかったのは、floor関数は数値が小さくなる方向に小数点が切り捨てられるからです。
つまり、「-2.3」の場合の小さい方の値は「-2」ではなく「-3」、「-10.56」の場合の小さい方の値は「-10」ではなく「-11」となります。
正の数の場合と負の数の場合で切り捨てられたときの値が少し異なるので、間違えないように注意しましょう。
小数点の桁数を指定して切り捨てる方法
ここまで、floor関数の基本的な使い方についてわかりました。
floor関数は、小数点以下を切り捨てることができる関数ですが、小数点の桁数を指定して切り捨てることもできます。
では、その具体的な方法をコードで見ていきましょう。
1 2 3 |
<?php echo floor(1034.4536 * 100) / 100; ?> |
今回は、小数第3位以下を切り捨てる方法を実装していきます。
上記のコードでは何をしているのかというと、まずfloor関数で「1034.4536 * 100」を指定し、小数点以下を切り捨てています。
(1034.4536 * 100の結果は、103445.36となり、floor関数によって小数点以下の「.36」が切り捨てられます)
そして、floor関数によって返された数値を100で割って元の数値に戻します。
すると、結果は「103445 ÷ 100」で「1034.45」となるはずです。
結果を表示してみると、「1034.45」となっていますね。
このように、floor関数では掛け算や割り算を用いて、小数点の桁数を指定して切り捨てることもできます。
なので、使い方を覚えておくといいでしょう。
ceil関数やround関数との違い
floor関数は、小数点以下を「切り捨てる」ための関数ですが、よく似たもので小数点を切り上げる「ceil関数」や四捨五入する「round関数」というものもあります。
ここでは、これらの関数にどのような違いがあるのか、詳しく解説します。
■floor関数
1 2 3 4 |
<?php echo floor(2.3)."<br>"; echo floor(2.5)."<br>"; ?> |
まず、floor関数は小数点以下を「切り捨てる」関数なので、小数点以下がどんな数字であろうと、すべて切り捨てられます。
例えば、上記のように、「2.3」「2.5」という数値があり、floor関数を指定すると、結果は同じ「2」になります。
両方とも値は「2」になりましたね。
■ceil関数
1 2 3 4 |
<?php echo ceil(2.3)."<br>"; echo ceil(2.5)."<br>"; ?> |
続いて、ceil関数の使い方です。
ceil関数は小数点以下を「切り上げる」関数なので、小数点以下がどんな数字であろうと、すべて切り上げられます。
先ほどと同じように、数値を「2.3」「2.5」として、ceil関数を指定してみると、結果は両方とも「3」になります。
値は両方「3」になっているのがわかりますね。
これは、ceil関数に端数を切り上げる役割があるからです。
■round関数
1 2 3 4 |
<?php echo round(2.3)."<br>"; echo round(2.5)."<br>"; ?> |
今度は、round関数の使い方です。
round関数は小数点以下を「四捨五入」する関数なので、小数点以下が4以下の場合は切り捨てられ、5以上の場合は切り上げられます。
round関数に、数値を「2.3」と「2.5」を指定して結果を表示すると、「2.3→2」「2.5→3」となるはずです。
「2.3」だった値は「2」になり、「2.5」だった値は「3」になっていますね。
このように、round関数は値によって小数点以下を四捨五入する役割を持っています。
floor関数、ceil関数、round関数は、小数を扱うための関数ですが、それぞれの関数によって役割が異なるので、しっかり使い分ける必要があります。
今回解説した内容を理解し、これらの関数を使い間違えないようにしましょう。
まとめ
今回は、PHPでfloor関数を使って小数点を切り捨てる方法について解説しました。
floor関数を使えば、簡単に小数点を切り捨てられます。
そして、負の数の小数点を切り捨てたり、小数点の桁数を指定して切り捨てることも可能です。
また、小数点を切り上げるceil関数や四捨五入するround関数と使い間違えないように気をつけましょう。
この記事がPHPの学習に役立つと幸いです。