Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript Math.ceil() vs Math.round(): 두 반올림 메서드의 차이점 완벽 정리

JavaScript에는 숫자를 정수로 변환하는 여러 내장 메서드가 있으며, 그중 가장 널리 사용되는 것이 Math.ceil()Math.round()입니다. 두 메서드는 이름은 비슷하지만 동작 방식이 분명히 다르므로, 상황에 맞게 올바른 메서드를 선택하는 것이 중요합니다.

Math.ceil()은 소수 부분과 관계없이 항상 큰 값 방향으로 올려 가장 가까운 정수를 반환합니다. 반면 Math.round()는 일반적인 반올림 규칙에 따라, 소수 첫째 자리가 5 이상이면 위쪽 정수로, 5 미만이면 아래쪽 정수로 처리합니다. 각 메서드를 예제와 함께 자세히 살펴보겠습니다.

Math.ceil() – 항상 올림 처리

Math.ceil() 메서드는 매개변수로 전달된 숫자를 큰 값 방향으로 올려 가장 가까운 정수를 반환합니다. 소수 부분이 아무리 작아도(예: 5.01) 무조건 한 단계 위의 정수가 된다는 점이 특징입니다.

예제

아래 예제에서 숫자 5.34를 전달하면, Math.ceil()은 원래 값보다 큰 정수인 6을 반환합니다.

console.log(Math.ceil(5.34));   // 6
console.log(Math.ceil(5.01));   // 6
console.log(Math.ceil(-5.34));  // -5 → 음수에서도 큰 쪽으로 올림

출력 결과

6
6
-5

Math.round() – 가장 가까운 정수로 반올림

Math.round() 메서드는 매개변수로 전달된 숫자를 가장 가까운 정수로 반올림합니다. 소수 첫째 자리가 5 이상이면 올리고, 5 미만이면 버립니다.

예제

아래 예제에서 숫자 5.34를 전달하면 5.34는 5에 더 가깝기 때문에 Math.round()는 5를 반환합니다. 반면 5.5 이상의 값이라면 6이 됩니다.

console.log(Math.round(5.34));  // 5
console.log(Math.round(5.5));   // 6 → .5 이상은 올림
console.log(Math.round(5.8));   // 6

출력 결과

5
6
6

두 메서드 한눈에 비교하기

입력값Math.ceil()Math.round()
5.3465
5.566
-5.34-5-5
-5.5-5-5

참고로 항상 작은 값 방향으로 내림하고 싶다면 Math.floor() 메서드를 사용하면 됩니다. 세 메서드의 동작 차이를 정확히 이해해 두면 금액 계산, 페이지네이션, 좌표 처리 등 실무 개발에서 큰 도움이 됩니다.