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

Python에서 숫자를 반올림하는 방법 – round() 함수 완벽 정리

Python에는 숫자를 손쉽게 반올림할 수 있는 내장 함수 round()가 포함되어 있습니다. 별도의 라이브러리 설치 없이 바로 사용할 수 있어 실무와 학습 모두에서 자주 활용됩니다.

round() 함수의 기본 구조

Python의 round() 메서드는 두 개의 매개변수를 받습니다.

  • 첫 번째 매개변수: 반올림할 대상 숫자

  • 두 번째 매개변수: 반올림할 소수점 이하 자릿수

이때 두 번째 매개변수는 선택 사항(optional)입니다.

두 번째 매개변수가 없는 경우

두 번째 매개변수를 지정하지 않으면, round() 메서드는 floor()와 ceil() 방식을 참고하여 정수를 반환합니다. 함수는 소수점 뒤의 숫자들을 확인한 뒤 다음과 같이 동작합니다.

  • 소수점 이하 숫자가 5보다 작으면 전달된 숫자의 floor 값(내림)을 반환합니다.

  • 소수점 이하 숫자가 5보다 크면 전달된 숫자의 ceil 값(올림)을 반환합니다.

  • 정수가 전달되면 그대로 동일한 정수를 반환합니다.

아래 구현 예시를 보면 더욱 명확하게 이해할 수 있습니다.

예제

print(round(15))
print(round(15.2))
print(round(15.8))
print(round(15.128))
print(round(15.89))

출력 결과

15
15
16
15
16

결과 해설

  • 정수 15가 전달되었으므로 동일한 정수가 반환되어 출력은 15입니다.

  • 15.2의 경우 소수점 이하 숫자가 5보다 작으므로 floor 값인 15가 반환됩니다.

  • 15.8의 경우 소수점 이하 숫자가 5보다 크므로 ceil 값인 16이 반환됩니다.

  • 15.128의 경우 소수점 이하 숫자(128)가 500보다 작으므로 floor 값인 15가 반환됩니다.

  • 15.89의 경우 소수점 이하 숫자(89)가 50보다 크므로 ceil 값인 16이 반환됩니다.

참고: 두 번째 매개변수 없이 호출한 경우 모든 출력 결과는 정수(integer) 값입니다.

두 번째 매개변수가 있는 경우

두 번째 매개변수는 숫자를 몇 번째 자릿수까지 반올림할지 지정합니다. 이 경우 round() 함수의 동작 방식은 수학에서 일반적으로 계산하는 반올림과 동일합니다.

  • 정수 값이 전달되면 동일한 정수 값이 그대로 반환됩니다.

  • 실수가 전달되면 지정된 자릿수까지 반올림된 부동소수점(float) 숫자가 반환됩니다.

예제

print(round(15,2))
print(round(15.2789,3))
print(round(15.82,1))
print(round(15.128,2))
print(round(15.8902,2))

출력 결과

15
15.279
15.8
15.13
15.89

결과 해설

  • 숫자가 15.2789이고 자릿수가 3으로 지정된 경우, 소수점 넷째 자리 숫자가 5보다 크므로 셋째 자리(마지막 지정 자릿수)가 1 증가하여 15.279가 됩니다.

  • 숫자가 15.82이고 자릿수가 1로 지정된 경우, 소수점 둘째 자리 숫자가 5보다 작으므로 첫째 자리는 증가하지 않아 15.8이 됩니다.

이처럼 round() 함수는 두 번째 매개변수의 유무에 따라 반환 결과가 달라지므로, 원하는 출력 형태에 맞게 적절히 활용하는 것이 중요합니다.