파이썬에서 실수를 처리 할 때 반올림은 round() 함수, 올림은 ceil() 함수, 내림은 floor() 함수를 사용할 수 있습니다. 그 중 반올림 함수 round()는 사사오입 원칙으로 원하는 값과 다른 결과 값을 보일 수 있습니다.
파이썬 반올림 올림 내림 함수, round(), ceil(), floor()
간략하게 3가지 함수에 대해 알아보겠습니다.
- 올림 함수 ceil()
- 내림 함수 floor()
- 반올림 함수 round(), 사용시 주의 할 점 및 이를 대처할 방법
올림 함수 ceil()
파이썬 표준 모듈 중 math 를 import 하여, math 모듈의 함수인 ceil() 을 사용합니다.
# math 모듈 import
import math
# math 모듈의 ceil 함수 사용
print(math.ceil(1.1))
print(math.ceil(1.3))
print(math.ceil(1.5))
print(math.ceil(1.7))
print(math.ceil(1.9))
예시로 쓰여진 실수의 올림 값은 모두 2 입니다. math.ceil() 함수는 올림한 값을 리턴해줍니다.
내림 함수 floor()
내림 또한 math 모듈에 내장된 floor 함수를 사용합니다.
# math 모듈 import
import math
# math 모듈의 floor 함수 사용
print(math.floor(1.1))
print(math.floor(1.3))
print(math.floor(1.5))
print(math.floor(1.7))
print(math.floor(1.9))
예시로 쓰여진 실수의 내림 값은 모두 1 입니다. math.floor() 함수는 내림한 값을 리턴해줍니다.
반올림 함수 round(), 사용시 주의 할 점 및 이를 대처할 방법
파이썬에서 실수를 반올림하고 싶을 때, round() 내장 함수를 사용할 수 있습니다. 내장 함수이기 때문에 별도로 import 할 것은 없습니다.
# round 함수
print(round(1.5))
print(round(2.5))
print(round(3.5))
print(round(4.5))
print(round(5.5))
위 코드에서 각각의 실수를 반올림하면 2, 3, 4, 5, 6 로 결과값이 예상되지만 실제로 실행한 결과는 아래와 같습니다.
이러한 결과가 나온 이유는 사사오입 원칙 때문입니다. 파이썬에서 round() 함수는 정수 부분이 홀수일 경우 올림, 짝수일 경우 내림하여 계산됩니다. 따라서 round() 함수를 사용하기 위해서는 해당 사항을 숙지하고 있어야 합니다.
이는 간단하게 0.5를 더한 후, 내림 함수(floor)를 사용하면 해결할 수 있습니다.
# math 모듈 import
import math
ex_1 = 1.5
ex_2 = 2.5
ex_3 = 4.5
# 실수에 0.5 를 더하여 내림 (floor) 함수 사용
print(math.floor(ex_1 + 0.5))
print(math.floor(ex_2 + 0.5))
print(math.floor(ex_3 + 0.5))
이제 원하는 결과 값을 확인할 수 있습니다.
마무리
파이썬으로 코딩하다 수식이 복잡해질 경우 잘못된 사용으로 잘못된 결과값을 보일 수 있습니다. 간단히 round() 함수를 사용하여 반올림하고 싶지만 사사오입 원칙으로 원하지 않는 결과를 보일 수 있으니 주의가 필요할 것 같습니다.
오늘도 행복한 코딩생활 되시기 바라겠습니다. 감사합니다.
'개발 > python' 카테고리의 다른 글
python 문자열 나누기 함수, split() 사용 방법 (0) | 2023.01.19 |
---|---|
python 문자열 시작과 끝 문자 찾기, 접두사 startswith, 접미사 endswith (0) | 2023.01.18 |
python 기존 파일에 내용 추가 방법, 열기 모드를 'a' 로 하기 (4) | 2022.04.14 |
python 문자열 포매팅, string 을 세밀하게 다루는 방법 (4) | 2022.04.12 |
python os 모듈, 알아두면 유용한 5가지 함수 (0) | 2022.04.06 |
댓글