PHPで小数点以下の数値を扱ったり、数値を四捨五入する場合の関数。
・round(val [,precision, mode])
・floor(val)
・ceil(val)
val : 丸める値
(以下はroundのみ)
precision: 丸める桁数(正の値の場合は小数点以下の桁数。)
mode : 丸める際のモードを指定
定数 | 説明 |
---|---|
PHP_ROUND_HALF_UP | 小数点以下の桁がprecisionで指定した値になるように、次の帰趨にまとめる |
PHP_ROUND_HALF_DOWN | 小数点以下の桁がprecisionで指定した値になるように、次の帰趨にまとめる |
PHP_ROUND_HALF_EVEN | 小数点以下の桁がprecisionで指定した値になるように、次の偶数に丸める |
PHP_ROUND_HALF_ODD | 小数点以下の桁がprecisionで指定した値になるように、次の奇数に丸める |
PHP_ROUND_HALF_EVEN、PHP_ROUND_HALF_ODDについての補足
対象の桁が5より小さければ切り捨て、5より大きければ切り上げを行い、
・ちょうどまんなかの5であればEVENの場合は偶数に近いほうに
・ちょうどまんなかの5であればODDの場合は奇数に近いほうに
丸め処理を行う。
<?php print_r(round( 12345.6789)."\n"); // 1の位を四捨五入 print_r(round( 12345.6789,-1)."\n"); // 10の位を四捨五入 print_r(round( 12345.6789,-4)."\n"); // 10000の位を四捨五入 print_r(round( 12345.6789,1)."\n"); // 小数点第一位を四捨五入 print_r(round( 12345.6789,3)."\n"); // 小数点第三位を四捨五入 print_r(round( 1.55, 1,PHP_ROUND_HALF_UP)."\n"); // 小数点第一位をゼロから離れる方向に丸める print_r(round( 1.55, 1,PHP_ROUND_HALF_DOWN)."\n"); // 小数点第一位をゼロに近づく方向に丸める print_r(round( 1.55, 1,PHP_ROUND_HALF_EVEN)."\n"); // 小数点第一位を偶数に近づく方向に丸める print_r(round( 1.55, 1,PHP_ROUND_HALF_ODD)."\n"); // 小数点第一位を奇数に近づく方向に丸める print_r(ceil( 12345.6789)."\n"); // 小数点以下を切りあげ print_r(floor(12345.6789)."\n"); // 小数点以下を切り捨て //実行結果 //12346 //12350 //10000 //12345.7 //12345.679 //1.6 //1.5 //1.6 //1.5 //12346 //12345 ?>