php round(四捨五入)・ceil(切り上げ)・floor(切り捨て)を実行する

  • 作成日 2021.11.18
  • 更新日 2023.01.02
  • php
php round(四捨五入)・ceil(切り上げ)・floor(切り捨て)を実行する

phpで、roundとceilとfloorを使用して、四捨五入、切り上げ、切り捨てを実行するサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

roundとceilとfloor使い方

roundとceilとfloorを使用すれば、四捨五入、切り上げ、切り捨てを実行することが可能です。

<?php

// 四捨五入
echo round(1.5) . PHP_EOL; // 2

// 四捨五入
echo round(1.4) . PHP_EOL; // 1

// 四捨五入
echo round(-1.5) . PHP_EOL; // -2

// 四捨五入
echo round(-1.4) . PHP_EOL; // -1

// 四捨五入
echo round(1.59999) . PHP_EOL; // 2

// 切り上げ
echo ceil(1.5) . PHP_EOL; // 2

// 切り上げ
echo ceil(-1.5) . PHP_EOL; // -1 0方向に丸められる

// 切り上げ
echo ceil(1.59999) . PHP_EOL; // 2

// 切り捨て
echo floor(1.5) . PHP_EOL; // 1

// 切り捨て
echo floor(-1.5) . PHP_EOL; // -2 マイナス方向に丸められる

// 切り捨て
echo floor(1.59999) . PHP_EOL; // 1

roundは、四捨五入する桁数を指定することも可能です。

round( 数値 [, 桁数 ] )

デフォルトは、小数点以下を四捨五入。
桁数が、正の数の場合、小数点以下の桁数を指定。
桁数が、負の数の場合、整数の桁数を指定。

サンプルコード

<?php

// 少数第2位を四捨五入
echo round(123.123,2).PHP_EOL; // 123.12

// 1の位を四捨五入
echo round(123,-1).PHP_EOL; // 120

ceilで桁数を指定して、切り上げを行う場合は、桁数を以下のように調整して行います。

<?php

// 小数第二位で切り上げ
print (ceil(12.123 * 10) / 10) . PHP_EOL; // 12.2

// 小数第三位で切り上げ
print (ceil(12.123 * 100) / 100) . PHP_EOL; // 12.13

// 1の位で切り上げ
print (ceil(12.123 / 10) * 10) . PHP_EOL; // 20

// 10の位で切り上げ
print (ceil(12.123 / 100) * 100) . PHP_EOL; // 100

floorの場合も、同様です。

<?php

// 小数第二位で切り捨て
print (floor(12.123 * 10) / 10) . PHP_EOL; // 12.1

// 小数第三位で切り捨て
print (floor(12.123 * 100) / 100) . PHP_EOL; // 12.12

// 1の位で切り捨て
print (floor(123.123 / 10) * 10) . PHP_EOL; // 120

// 10の位で切り捨て
print (floor(123.123 / 100) * 100) . PHP_EOL; // 100