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);
}
おそらく正常に回るはず。。