여니의 취준 준비/코딩테스트 (Python)

[Python] 반올림함수 round | (사사오입, 오사오입)

여니's 2022. 6. 18. 19:58

 

 

1. 사사오입

: 4 이하면 버림, 5 이상이면 올림

 


 

2. 오사오입

: 5 미만의 숫자는 버림, 5 초과의 숫자는 올림

5일때 처리해주는 방식이 사사오입 방식과 다르다.

5의 앞자리가 짝수 -> 버림

5의 앞자리가 홀수 -> 올림

 

흔히 파이썬에서 쓰는 round 함수는 오사오입 방식이다.

 

 

round 함수로 사사오입 방식을 구현하려면?

 

해당 값이 양수이면 0.5를 더해주고

음수이면 0.5를 빼주면 된다.

 

 

왜 위처럼 해야하는 지 이제부터 상세하게 설명해보기!

 

오사오입 방식은 5의 앞자리수가 짝수일 때 버린다.

이를 해결하기 위해 0.5를 더해주고 빼주는 것이다.

 

예시를 들면

사사오입 방식대로 2.5를 반올림하면 3이 나와야한다.

하지만 오사오입 방식에서는 2가 나온다.

왜냐하면 5의 앞자리 수가 짝수이기 때문이다.

따라서 0.5를 더해준 뒤, round 함수를 사용하면 3이 나온다!

 

 

 

round(number,1)

-> 소수점 첫째자리까지 값을 표시한다는 의미

즉, 소수점 둘째 자리에서 반올림한다.