PHPでは、関数を使うことで小数点型の数字の位を変えることができます。切り上げではceil関数、切り捨てではfloor関数、四捨五入ではround関数を利用します。
本記事では、各関数の使い方について、サンプルコードと合わせて紹介しています。ぜひ参考にしてください。
目次
PHPで切り上げる方法【ceil関数】
PHPでは、浮動小数点型の数字にceil関数を使うことで、小数点以下を切り上げた整数にすることができます。
実際に、ceil関数を使って数字を切り上げた結果が次の通りです。
1 2 3 4 5 |
<?php echo ceil(1.23); ?> |
上記サンプルコードでは、「1.23」をceil関数で切り上げたので、「2」が出力されます。
なお、マイナスの数字に関しても同様に、小数点以下を切り上げることができます。
1 2 3 4 5 |
<?php echo ceil(-1.23); ?> |
上記サンプルコードでは、「-1.23」をceil関数で切り上げたので、より0に近い「-1」が出力されます。
位を指定して切り上げる
ceil関数を使うことで小数点以下を切り上げることができますが、少し工夫することで少数の位を指定したり、整数の位を指定して切り上げたりもできます。
まずはceil関数を使って、少数の位を指定して切り上げる方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //小数点第一位で切り上げ echo ceil(1.234); echo '<br />'; //小数点第二位で切り上げ echo (ceil(1.234 * 10) / 10); echo '<br />'; //小数点第三位で切り上げ echo (ceil(1.234 * 100) / 100); echo '<br />'; ?> |
1.3
1.24
上記サンプルコードでは、ceil関数を使用するときに、一時的に小数点の位置を変えることで小数の位を指定して切り上げています。
これは、対象の数値が整数であった場合にも応用することができます。そこで、整数にceil関数を使って、指定した位を切り上げる方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //1の位で切り上げ echo (ceil(1234 / 10) * 10); echo '<br />'; //10の位で切り上げ echo (ceil(1234 / 100) * 100); echo '<br />'; //100の位で切り上げ echo (ceil(1234 / 1000) * 1000); echo '<br />'; ?> |
1300
2000
上記サンプルコードでは、ceil関数の特性を利用して、指定した位を切り上げています。
PHPで切り捨てる方法【floor関数】
PHPでは、浮動小数点型の数字にfloor関数を使うことで、小数点以下を切り捨てた整数にすることができます。
実際に、floor関数を使って数字を切り捨てた結果が次の通りです。
1 2 3 4 5 |
<?php echo floor(1.23); ?> |
上記サンプルコードでは、「1.23」をfloor関数で切り捨てたので、「1」が出力されます。
なお、マイナスの数字に関しても同様に、小数点以下を切り捨てることができます。
1 2 3 4 5 |
<?php echo floor(-1.23); ?> |
上記サンプルコードでは、「-1.23」をfloor関数で切り捨てたので、より0に遠い「-2」が出力されます。
位を指定して切り捨てる
floor関数を使うことで小数点以下を切り捨てることができますが、ceil関数同様、少し工夫することで少数の位を指定したり、整数の位を指定して切り捨てたりもできます。
まずはfloor関数を使って、少数の位を指定して切り捨てる方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //小数点第一位で切り捨て echo floor(1.234); echo '<br />'; //小数点第二位で切り捨て echo (floor(1.234 * 10) / 10); echo '<br />'; //小数点第三位で切り捨て echo (floor(1.234 * 100) / 100); echo '<br />'; ?> |
1.2
1.23
上記サンプルコードでは、floor関数を使用するときに、一時的に小数点の位置を変えることで小数の位を指定して切り捨てています。
次に、対象の数値が整数であった場合にfloor関数を使って、指定した位を切り捨てる方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //1の位で切り捨て echo (floor(1234 / 10) * 10); echo '<br />'; //10の位で切り捨て echo (floor(1234 / 100) * 100); echo '<br />'; //100の位で切り捨て echo (floor(1234 / 1000) * 1000); echo '<br />'; ?> |
1200
1000
上記サンプルコードでは、floor関数の特性を利用して、指定した位を切り上げています。
PHPで四捨五入する方法【round関数】
PHPでは、浮動小数点型の数字にround関数を使うことで、小数点以下を四捨五入した整数にすることができます。
実際に、round関数を使って四捨五入した結果が次の通りです。
1 2 3 4 5 6 7 8 9 10 11 |
<?php //四捨五入(切り捨て) echo '1.23 => ' .round(1.23); echo '<br />'; //四捨五入(切り上げ) echo '4.56 => ' .round(4.56); echo '<br />'; ?> |
4.56 => 5
上記サンプルコードでは、round関数で四捨五入したので、「1.23」は「1」に切り捨てられ、「4.5」は「5」に切り上げられました。
なお、マイナスの数字に関しても同様に、小数点以下を四捨五入することができます。
1 2 3 4 5 6 7 8 9 10 11 |
<?php //四捨五入 echo '-1.23 => ' .round(-1.23); echo '<br />'; //四捨五入 echo '-4.56 => ' .round(-4.56); echo '<br />'; ?> |
-4.56 => -5
上記サンプルコードのように、マイナスの数字にround関数を使用した場合、「-1.23」は「-1」、「-4.56」は「-5」に四捨五入されます。
位を指定して四捨五入する
round関数を使うことで小数点以下を四捨五入することができます。そして、round関数では、ceil関数やfloor関数とは違い、四捨五入する位を関数で指定することができます。
まずはround関数を使って、少数の位を指定して切り捨てる方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //小数点第一位で四捨五入 echo round(1.234); echo '<br />'; //小数点第二位で四捨五入 echo round(1.234,1); echo '<br />'; //小数点第三位で四捨五入 echo round(1.234,2); echo '<br />'; ?> |
1.2
1.23
上記サンプルコードの通り、round関数を使用するときの第二引数で四捨五入する小数点の位を指定することができます。
次に、対象の数値が整数であった場合にround関数を使って、指定した位を四捨五入する方法を紹介します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php //1の位で四捨五入 echo round(1234,-1); echo '<br />'; //10の位で四捨五入 echo round(1234,-2); echo '<br />'; //100の位で四捨五入 echo round(1234,-3); echo '<br />'; ?> |
1200
1000
上記サンプルコードの通り、round関数で整数の位を四捨五入したい場合、round関数の第二引数にマイナスの数字を指定します。
まとめ
PHPで浮動小数点型の数字の位を変えたい場合、関数を使用します。切り上げたいときはceil関数、切り捨てたいときはfloor関数、四捨五入したいときはround関数を使います。
round関数では、第二引数を使って四捨五入する位を指定することができます。また、ceil関数とfloor関数も、ちょっとした工夫で、簡単に操作する位を指定することができます。
どの関数も使い方は簡単で、難しい知識は必要ありません。しかし、用途によって適した関数は変わってきます。使う関数を間違えないように注意しましょう。