PHPの四捨五入、切り捨て、切り上げ。round( )、floor( )、ceil( )

PHPで、掛け算や割り算をして、四捨五入とか切り捨てとかする際、いっつもどれがどれだかわからなくなるので、まとめておきます。

PHPの四捨五入

//基本構文
round( 対象の数字,四捨五入の場所);

です。例えば、

//1の位を四捨五入
round( 555,-1);
// 実行結果 ->560
//10の位を四捨五入
round( 555,-2);
// 実行結果 ->600
//小数点第3位を四捨五入
round( 555.254,2);
// 実行結果 ->555.25

第2引数がちょっとわかりづらいんですよね。
小数点第3位を四捨五入する場合は、3位なんだけど「2」っていう。。

考え方として、
「小数点第1位」が「0」。
左に一桁進むたびに、-1。
右に行けば、+1。って感じで理解しておけば良いかと思います。

PHPの切り捨て

//基本構文
floor(対象の数字);

これは、引数は一つ。小数点以下を切りすてるだけ。

//基本構文
floor(555.54);
// 実行結果 ->555

ってことになります。

ちなみに、上記の例で、小数点第2位の「4」を切り捨てたいって場合どうするか。

こんなやり方があります。

//基本構文
floor(555.54 * 10) / 10

一旦、切り捨てたい小数点の位置まで小数点を掛け算で移動させてあげて、それに対して切り捨てを行い、割り算で桁を戻してあげるっていう方法。

若干面倒かもしれませんが、これで切り捨てたい小数点のみ、切り捨てられます。

PHPの切り上げ

//基本構文
ceil(対象の数字);

これも、引数は一つ。小数点以下を切り上げるだけ。

//基本構文
ceil(555.54);
// 実行結果 ->556

ってことになります。

ちなみに、切り捨て同様、上記の例で、小数点第2位の「4」を切り上げたいって場合は、以下でOK。

//基本構文
ceil(555.54 * 10) / 10

意外と忘れやすい、PHPの四捨五入、切り捨て、切り上げ。上記を参考にしてください。

あわせて読みたい