2013. 11. 20. 11:02 IT/ASP

ASP Round, Cint, Int 함수

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

ASP 에서 Round 함수는 반올림 함수가 아니다.

 

페이징을 관련 프로그래밍을 하면서 한페이지씩 많을 때가 있어서

 

확인하다가 우연히 발견했다.

 

이해를 돕기위해 간단히 표로 보여준다

 

 

숫자 Round Cint Int
1.5 2 2 1
2.5 2 2 2
3.5 4 4 3
4.5 4 4 4
5.5 6 6 5
6.5 6 6 6
7.5 8 8 7
8.5 8 8 8
9.5 10 10 9
10.5 10 10 10

 

뭔가 규칙같은게 보이나?

 

그래 Round 이놈은 무조건 짝수로 만들고 있다. 1.6 은 2가 되고 2.6도 2가 된다.

 

당연한 얘기지만 0.5 보다 작을 때는 소숫점을 잘라버린다.

 

내가 페이징할 때 자주 쓰는 Cint 역시 Round와 동일하게 처리됐다.

 

그래서 소숫점을 잘라주는 Int를 사용하면 문제없이 내림처리가 가능하다.

 

그럼 ASP에서 반올림은 어떻게 할까? 여러가지 방법이 있겠지만,

 

Int(자연수+0.5)

 

이러면 해결된다. 간단하나?

 

그런데 왜 저렇게 처리될까 해서 포털에서 검색을 해봤더니 결과가 뙇!!

 

알다시피 Round함수는 통계함수다.

 

0.5이상일 때 무조건 반올림 처리하는 것보다, 홀수면 반올림 짝수면 내림처리를 하는게

 

통계학적으로 봤을 때 오차가 줄어든다고 한다.

Posted by 당양부부34

블로그 이미지
주요 토렌트를 블로깅하고 있습니다. 토렌트 순위 등은 다른 사이트를 찾아보세요. 주요 웹툰 순위도 게재했어요 경제를 좋아하는 일산의 행복한 프로그래머입니다.
당양부부34
Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함