banker’s rounding

[System.Math.Round 설명 페이지]

위 링크를 들어가면 “Rounding to nearest, or banker’s rounding” 라는 항목이 있습니다.

대략 설명을 보면 가까운 짝수를 향해 반올림을 한다 입니다.

기존의 반올림에서 2.5 를 소수점 바로 아래에서 반올림하면 당연히 3이 되어야 하는데…

ToEven이 기본이라서 2가 되어 버립니다.

반올림 함수를 사용할 때에는 반드시 “Away from zero” 반올림인지 “ToEven” 반올림인지 확인하고 사용하세요.

엑셀의 경우 VBA에서 Round 함수를 사용하면 .NET과 같이 ToEven을
Application.WorksheetFunction.Round() 을 사용하면 AwayFromZero를 사용하는 반올림이 수행된다고 합니다.

근데 왜? ToEven을 사용할까?
음수에 대한 처리 또는 평균 값에 대한 처리 등에서 AwayToZero보다 ToEven이 장점이 있다고 설명하네요.

글쓴이

BS

BS == Programmer