파이썬에서 수학적 계산을 할 때 자주 사용하는 올림, 내림, 반올림 메소드에 대해 정리한다. 이 글에서는 math
모듈의 ceil
, floor
, trunc
함수와 파이썬 내장 함수인 round
를 다룬다.
math
모듈의 ceil
함수는 주어진 숫자를 올림한다. 즉, 소수점 이하를 올려 가장 가까운 정수로 만든다.
import math
print(math.ceil(-7.25)) # 결과: -7
print(math.ceil(4.1)) # 결과: 5
math
모듈의 floor
함수는 주어진 숫자를 내림한다. 즉, 소수점 이하를 버려 가장 가까운 정수로 만든다.
import math
print(math.floor(5.99)) # 결과: 5
print(math.floor(-2.7)) # 결과: -3
math
모듈의 trunc
함수는 0을 향해 내림한다. 즉, 소수점 이하를 잘라낸다.
import math
print(math.trunc(-8.53)) # 결과: -8
print(math.trunc(6.77)) # 결과: 6
int
함수도 trunc
와 같은 결과를 반환한다.
print(int(-8.53)) # 결과: -8
print(math.trunc(6.77)) # 결과: 6
파이썬 내장 함수 round
는 반올림을 수행한다. 기본적으로 소수 첫째 자리에서 반올림하며, 두 번째 인자를 사용해 반올림할 자릿수를 지정할 수 있다.
print(round(2.718)) # 결과: 3
print(round(2.718, 2)) # 결과: 2.72
print(round(154.756, -1)) # 결과: 150.0
round
함수는 사사오입 원칙을 따른다. 반올림할 자리의 숫자가 5일 때 앞자리의 숫자가 짝수면 내림하고 홀수면 올림한다.
print(round(6.5)) # 결과: 6
print(round(7.5)) # 결과: 8
앞의 자리가 6인 경우 짝수니까 내림이 되었고, 앞의 자리가 7인 경우 홀수니까 올림이 적용된다.
파이썬에서는 정수와 실수 모두에 대해 round
함수를 사용할 수 있다. 다음은 몇 가지 추가 예시다:
print(round(42)) # 결과: 42 (정수)
print(round(42.5)) # 결과: 42 (정수, 사사오입 적용)
print(round(42.51)) # 결과: 43 (실수)
print(round(-42.5)) # 결과: -42 (정수, 사사오입 적용)
print(round(-42.51)) # 결과: -43 (실수)
math.ceil()
math.floor()
math.trunc()
또는 int()
round()