Python에서 숫자 반올림하는 방법
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- Python의 내장
round()
는 "반올림하여 짝수로" 전략을 사용합니다. - 항상 올림 또는 내림을 하려면
math.ceil()
또는math.floor()
를 사용하세요. decimal
모듈은 금융 사용 사례에 대한 정확한 반올림을 제공합니다.
숫자 반올림은 특히 부동 소수점 산술, 금융 계산 또는 데이터 표현을 다룰 때 프로그래밍에서 기본적인 작업입니다. Python은 숫자를 반올림하는 여러 가지 방법을 제공하며, 각 방법은 서로 다른 시나리오에 적합합니다. 이 기사에서는 Python의 내장 round()
함수, math
모듈 및 decimal
모듈을 포함한 다양한 반올림 기술을 살펴봅니다.
내장 round()
함수
Python의 내장 round()
함수는 숫자를 반올림하는 가장 간단한 방법입니다.
구문
round(number, ndigits)
number
: 반올림하려는 숫자입니다.ndigits
(선택 사항): 반올림할 소수 자릿수입니다. 생략하면 숫자는 가장 가까운 정수로 반올림됩니다.
예
round(3.14159) # 출력: 3 round(3.14159, 2) # 출력: 3.14 round(2.5) # 출력: 2 round(3.5) # 출력: 4
참고: Python은 기본 반올림 전략으로 "반올림하여 짝수로" (일명 "은행가 반올림")를 사용합니다. 이는 두 정수 사이의 정확히 중간에 있는 숫자가 가장 가까운 짝수 정수로 반올림됨을 의미합니다. 예를 들어 round(2.5)
는 2
를 반환하고 round(3.5)
는 4
를 반환합니다.
math
모듈을 사용하여 올림 및 내림
반올림을 보다 세밀하게 제어해야 하는 경우, 특히 항상 올림 또는 내림을 해야 하는 경우 Python의 math
모듈은 ceil()
및 floor()
함수를 제공합니다.
math.ceil()
을 사용한 올림
import math math.ceil(3.2) # 출력: 4 math.ceil(-3.2) # 출력: -3
math.ceil()
은 주어진 숫자보다 크거나 같은 가장 작은 정수를 반환합니다.
math.floor()
를 사용한 내림
import math math.floor(3.8) # 출력: 3 math.floor(-3.8) # 출력: -4
math.floor()
는 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.
decimal
모듈을 사용한 정확한 반올림
금융 애플리케이션을 처리하거나 높은 정밀도가 필요한 경우 decimal
모듈이 더 좋습니다. 더 정확한 십진수 표현과 다양한 반올림 전략을 허용합니다.
예: decimal
을 사용한 반올림
from decimal import Decimal, ROUND_HALF_UP number = Decimal('2.675') rounded_number = number.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP) print(rounded_number) # 출력: 2.68
이 예에서 ROUND_HALF_UP
은 두 가능성의 정확히 중간에 있는 경우 0에서 먼 숫자로 반올림합니다. 이것은 학교에서 가르치는 표준 반올림 방법입니다.
NumPy를 사용한 배열 반올림
배열과 관련된 수치 계산의 경우 NumPy는 효율적인 반올림 함수를 제공합니다.
예: NumPy를 사용한 반올림
import numpy as np array = np.array([1.234, 5.6789, 9.8765]) rounded_array = np.round(array, 2) print(rounded_array) # 출력: [1.23 5.68 9.88]
NumPy의 round()
함수는 배열의 각 요소를 지정된 소수 자릿수로 반올림합니다.
요약
Python은 숫자를 반올림하는 여러 가지 방법을 제공합니다.
- 기본적인 반올림에는
round()
를 사용하세요. - 항상 올림 또는 내림을 해야 할 때는
math.ceil()
및math.floor()
를 사용하세요. - 특히 금융 애플리케이션에서 정확한 소수점 반올림에는
decimal
모듈을 사용하세요. - 배열에서 효율적인 작업을 수행하려면 NumPy의 반올림 함수를 사용하세요.
적절한 메서드를 선택하는 것은 원하는 반올림 전략 및 정밀도 필요성과 같은 애플리케이션의 특정 요구 사항에 따라 달라집니다.
FAQs
Python은 "반올림하여 짝수로" (은행가 반올림)를 사용하고 2가 가장 가까운 짝수이기 때문입니다.
금융 또는 과학 애플리케이션과 같이 고정밀 반올림이 필요한 경우 decimal
을 사용하세요.
예, NumPy의 round()
함수를 사용하여 배열을 효율적으로 반올림하세요.
Leapcell은 Python 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하세요.
무제한 프로젝트를 무료로 배포
- 사용량에 따라서만 지불하세요. 요청 없음, 요금 없음.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼 지불하세요.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리할 수 있도록 자동 확장됩니다.
- 운영 오버헤드가 전혀 없습니다. 빌드에만 집중하세요.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ