숫자를 지정한 소수 자릿수로 반올림합니다. 5가지 방식(반올림·은행가 반올림·버림·올림·절사)의 결과를 나란히 비교할 수 있습니다.
입력
반올림할 값입니다. 소수와 음수를 모두 입력할 수 있습니다.
유지할 소수 자릿수를 지정합니다. 0이면 정수로, −1이면 10의 자리로, −2이면 100의 자리로 반올림합니다.
결과
값을 입력하면 계산 결과가 표시됩니다.
선택한 방식으로 3.14159을(를) 2자리로 반올림한 값입니다. 정확히 중간값(예: 2.5)인 경우 선택한 방식에 따라 방향이 결정됩니다.
다른 반올림 방식과의 비교
3.14159을(를) 해당 정밀도에서 넘지 않는 가장 큰 값입니다. 항상 −∞ 방향으로 내려갑니다.
3.14159을(를) 해당 정밀도에서 작지 않은 가장 작은 값입니다. 항상 +∞ 방향으로 올라갑니다.
3.14159의 소수 부분을 제거하고 0 방향으로 근사한 값입니다. 양수에서는 버림과 같습니다.
반올림이란 숫자를 원래 값에 최대한 가깝게 유지하면서 유효 자릿수를 줄이는 과정입니다. 결과는 두 가지 선택에 따라 달라집니다. 소수 몇 자리까지 남길 것인지, 그리고 버리는 부분이 정확히 중간값일 때 어느 방향으로 처리할 것인지입니다.
다섯 가지 반올림 방식
반올림 (0.5 올림)
일상에서 가장 익숙한 방식입니다. 버리는 부분이 정확히 0.5이면 +∞ 방향(큰 쪽)으로 올립니다.
2.5 → 3
−2.5 → −2 (+∞ 방향, 즉 절댓값이 작아지는 쪽)
학교에서 배우는 반올림 규칙이며 많은 스프레드시트 함수의 기본 동작입니다.
은행가 반올림 (짝수 반올림)
버리는 부분이 정확히 0.5일 때 짝수 자리 쪽으로 반올림합니다.
2.5 → 2 (2는 짝수)
3.5 → 4 (4는 짝수)
4.5 → 4 (4는 짝수)
5.5 → 6 (6은 짝수)
IEEE 754 부동소수점 표준의 기본 방식이며, Python 3의 round(), Java의 RoundingMode.HALF_EVEN, Excel의 EVEN() 함수에서 채택하고 있습니다. 단순 반올림은 0.5 단위 값이 많을 때 결과가 체계적으로 양(+) 방향으로 치우치는 경향이 있는데, 은행가 반올림은 이 편향을 제거합니다.
버림
소수 부분의 크기와 관계없이 항상 −∞ 방향(작은 쪽)으로 내려갑니다.
2.9 → 2
−2.1 → −3
올림
소수 부분의 크기와 관계없이 항상 +∞ 방향(큰 쪽)으로 올라갑니다.
2.1 → 3
−2.9 → −2
절사
소수 부분을 제거하고 0 방향으로 근사합니다. 양수에서는 버림과 결과가 같지만 음수에서는 차이가 납니다.
2.9 → 2 (버림과 동일)
−2.9 → −2 (버림의 −3과 다름)
계산 공식
숫자 x를 d자리로 반올림하는 과정은 다음과 같습니다.
배율 계산: s = 10^d
x × s 를 구합니다.
선택한 방식으로 정수 n을 구합니다.
n / s 로 되돌립니다.
d = 2, x = 3.14159인 경우:
s = 100
3.14159 × 100 = 314.159
반올림 → 314
314 / 100 = 3.14
음수 소수 자릿수
소수 자릿수를 음수로 설정하면 반올림 기준점이 소수점 왼쪽으로 이동합니다.
소수 자릿수
반올림 단위
−1
10
−2
100
−3
1,000
예시: 3,749를 100의 자리로 반올림(소수 자릿수 = −2)
s = 10^(−2) = 0.01
3,749 × 0.01 = 37.49
반올림(37.49) = 37
37 / 0.01 = 3,700
버림과 절사의 차이
음수에서만 차이가 발생합니다.
입력값
버림
절사
2.7
2
2
−2.7
−3
−2
−0.1
−1
0
버림은 음수에서 0에서 더 멀어지고, 절사는 0에 더 가까워집니다.
부동소수점 정밀도
IEEE 754 이진 부동소수점 방식에서는 대부분의 십진 소수를 정확히 표현할 수 없습니다. 예를 들어 3.55 × 10을 계산하면 내부적으로 정확히 35.5가 아닌 35.499999999999996 정도로 저장됩니다. 따라서 은행가 반올림의 동점 처리 규칙은 이진 방식으로 정확히 중간값이 되는 경우에만 작동합니다. 3.45나 6.55처럼 겉으로 보기에 "반반한" 십진수도 이진법으로는 정확한 중간값이 아닌 경우가 많으므로, 이때는 모든 반올림 방식이 같은 결과를 냅니다.
이는 계산기의 오류가 아니라 이진 부동소수점의 본질적인 특성입니다. Python, JavaScript 등 IEEE 754를 따르는 모든 언어에서 동일한 동작이 나타납니다.
모든 방식 비교: 2.5의 경우
방식
결과
반올림 (0.5 올림)
3
은행가 반올림
2
버림
2
올림
3
절사
2
동일한 입력값도 방식에 따라 다섯 가지 서로 다른 결과가 나올 수 있습니다. 특히 금융·통계 계산에서는 방식 선택이 누적 오차에 영향을 미치므로 상황에 맞는 방식을 선택하는 것이 중요합니다.
자주 묻는 질문 (FAQ)
은행가 반올림이란 무엇입니까?
은행가 반올림(짝수 반올림 또는 round-half-to-even)은 정확히 두 값의 중간에 위치할 때 짝수 자리 쪽으로 반올림하는 방식입니다. 예를 들어 2.5는 2(짝수)로, 3.5는 4(짝수)로 처리됩니다. IEEE 754 부동소수점 표준과 많은 금융 시스템에서 이 방식을 채택하는 이유는, 대규모 데이터에서 0.5 단위 값이 반복될 때 단순 반올림이 일으키는 체계적인 양(+) 방향 편향을 제거하기 때문입니다.
100의 자리로 반올림하려면 어떻게 합니까?
소수 자릿수를 −2로 설정합니다. 음수 자릿수는 반올림 기준점을 소수점 왼쪽으로 이동시킵니다. −1이면 10의 자리, −2이면 100의 자리, −3이면 1,000의 자리로 반올림합니다. 예를 들어 3,749를 −2 자리로 반올림하면, 반올림 방식 기준으로 3,700이 됩니다(3,749가 3,700에 더 가깝기 때문입니다).
버림과 절사는 어떻게 다릅니까?
양수에서는 결과가 같습니다(버림(2.9) = 절사(2.9) = 2). 차이는 음수에서 나타납니다. 버림은 항상 −∞ 방향으로 내려가므로 버림(−2.9) = −3입니다. 반면 절사는 0 방향으로 근사하므로 절사(−2.9) = −2입니다. 즉, 음수에서 버림은 더 작은 값을, 절사는 0에 더 가까운 값을 반환합니다.
0.5가 내림 처리되는 경우가 있는 이유는 무엇입니까?
반올림 방식에서는 0.5는 항상 +∞ 방향으로 올라가므로 0.5 → 1, −0.5 → 0이 됩니다. 은행가 반올림에서는 0.5인 경우 짝수 자리 쪽으로 이동하므로 0.5 → 0(0은 짝수), 1.5 → 2, 2.5 → 2, 3.5 → 4가 됩니다. 학교에서 배운 "0.5는 올린다"는 규칙에 익숙하다면 은행가 반올림이 이상하게 보일 수 있지만, 이 방식이 IEEE 754 기본값이므로 스프레드시트, 프로그래밍 언어, 대부분의 계산기에서 동일하게 작동합니다.