PHP의 round() 함수는 부동소수점 숫자를 지정한 자릿수로 반올림하는 데 사용됩니다. 예를 들어 0.90은 1로, 0.35는 0으로 반올림됩니다.
문법(Syntax)
round(val, precision, mode)
매개변수(Parameters)
val − 반올림할 대상 값입니다.
precision − 반올림할 소수점 이하 자릿수를 지정합니다.
mode − 아래와 같은 반올림 방식을 지정하는 상수입니다.
PHP_ROUND_HALF_UP − 값이 중간 지점일 때 지정한 자릿수에서 올림합니다. 예를 들어 1.5는 2로, -1.5는 -2로 반올림됩니다. 기본값
PHP_ROUND_HALF_DOWN − 값이 중간 지점일 때 지정한 자릿수에서 내림합니다. 예를 들어 1.5는 1로, -1.5는 -1로 처리됩니다.
PHP_ROUND_HALF_EVEN − 값이 중간 지점일 때 가장 가까운 짝수 방향으로 반올림합니다.
PHP_ROUND_HALF_ODD − 값이 중간 지점일 때 가장 가까운 홀수 방향으로 반올림합니다.
반환 값(Return)
round() 함수는 반올림된 값을 반환합니다.
예제 1
<?php
echo(round(2.099, 2));
?>
출력 결과
2.1
2.099를 소수점 둘째 자리까지 반올림하면 2.1이 됩니다.
예제 2
<?php
echo(round(9.859, 2));
?>
출력 결과
9.86
9.859를 소수점 둘째 자리까지 반올림하면 9.86이 됩니다.
예제 3 – PHP_ROUND_HALF_UP
<?php
echo(round(10.5, 0, PHP_ROUND_HALF_UP) . "<br>";
echo(round(-10.5, 0, PHP_ROUND_HALF_UP));
?>
출력 결과
11<br>-11
중간 지점인 .5 값이 있으면 양수·음수 모두 절댓값이 커지는 방향으로 올림됩니다.
예제 4 – PHP_ROUND_HALF_DOWN
<?php
echo(round(19.5, 0, PHP_ROUND_HALF_DOWN) . "<br>";
echo(round(-19.5, 0, PHP_ROUND_HALF_DOWN));
?>
출력 결과
19<br>-19
HALF_DOWN 모드에서는 중간 지점 값이 항상 작아지는 방향으로 처리됩니다.
예제 5 – PHP_ROUND_HALF_EVEN / PHP_ROUND_HALF_ODD
<?php
echo(round(9.9, 0, PHP_ROUND_HALF_EVEN) . "<br>";
echo(round(-9.8, 0, PHP_ROUND_HALF_EVEN) . "<br>";
echo(round(11.8, 0, PHP_ROUND_HALF_ODD) . "<br>";
echo(round(-11.8, 0, PHP_ROUND_HALF_ODD));
?>
출력 결과
10<br>-10<br>12<br>-12
HALF_EVEN은 가까운 짝수로, HALF_ODD는 가까운 홀수로 반올림합니다. 통계나 금융 계산처럼 일관된 반올림 규칙이 필요한 경우에 유용하게 활용할 수 있습니다.