0
0

More than 3 years have passed since last update.

PHP 切り上げ(ceil)、切り捨て(floor)に小数点の桁数を指定できるようにする

Last updated at Posted at 2020-06-21

PHPには似通った組み込み関数として以下のようなものがあるのだが、

round() : 四捨五入(modeで多少いじれる)
ceil() : 切り上げ
floor() : 切り捨て

桁数を指定でいるのは round() だけで、
ceil(), floor()の二つの関数に関しては、桁指定できる宣言部がない。

そこで、切り上げ、切り捨て処理ができる関数を作ってみた。

切り上げ、切り捨て処理

切り上げ処理(ceil_round_up)

ceil_round_up ( float $value [, int $precision = 1 ] )

第一引数 : 切り上げしたい数字
第二引数 : 切り上げしたい小数点桁数(初期値1)

function ceil_round_up($value, $precision = 1) {
  return round($value + 0.5 * pow(0.1, $precision), $precision, PHP_ROUND_HALF_DOWN);
}

切り捨て処理(ceil_round_down)

floor_round_down ( float $value [, int $precision = 1 ] )

第一引数 : 切り捨てしたい数字
第二引数 : 切り捨てしたい小数点桁数(初期値1)

function floor_round_down($value, $precision = 1) {
  return round($value - 0.5 * pow(0.1, $precision), $precision, PHP_ROUND_HALF_UP);
}

おそらく正常に回るはず。。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0