대부분 내림과 버림(절사)의 차이를 잘 모르고 혼용한다.
양수에서는 같지만 음수에서 차이가 발생한다.
음수 -1.5를 내림(Floor)하면 -2가 된다.
음수 -1.5를 버림(Cut)하면 -1이 된다.
버림은 0과 가까운 쪽으로 붙는다.
양수는 내리고 음수는 올리면 버림과 같다.
하지만 버림 함수가 제공되지 않는 환경에서는 직접 구현을 해야한다.
아래는 세금의 1원단위를 절사하는 로직이다.
Math.Floor(Math.Abs(dTaxAmt / 100)) * 10 * Math.Sign(dTaxAmt)
절대값을 100으로 나누고 내림하여 소숫점제거 후 10을 곱하고 부호를 붙이는 방식이다.
엑셀의 ROUNDDOWN() 함수는 버림(절사)의 개념이고,
MS SQL이나 C#의 FLOOR() 함수는 내림의 개념으로 차이가 있다.
댓글 없음:
댓글 쓰기