ClassicASP ASP 정수 / 소수점 반올림 Round? Formatnumber?
페이지 정보
본문
<%
A1 = "24.4"
A2 = "25.5"
A3 = "26.6"
' 소수점 반올림
B1 = round(A1)
B2 = round(A2)
B3 = round(A3)
response.write B1 &"<br>" ' 24
response.write B2 &"<br>" ' 25
response.write B3 &"<br>" ' 27
' 정수 반올림
C1 = round(int(A1)/10)*10
C2 = round(int(A2)/10)*10
C3 = round(int(A3)/10)*10
response.write C1 &"<br>" ' 20
response.write C2 &"<br>" ' 20
response.write C3 &"<br>" ' 30
%>
A1 = "24.4"
A2 = "25.5"
A3 = "26.6"
' 소수점 반올림
B1 = round(A1)
B2 = round(A2)
B3 = round(A3)
response.write B1 &"<br>" ' 24
response.write B2 &"<br>" ' 25
response.write B3 &"<br>" ' 27
' 정수 반올림
C1 = round(int(A1)/10)*10
C2 = round(int(A2)/10)*10
C3 = round(int(A3)/10)*10
response.write C1 &"<br>" ' 20
response.write C2 &"<br>" ' 20
response.write C3 &"<br>" ' 30
%>
결론적으로 Round는 반올림 함수가 아닙니다.
Round(1.5 , 0) => 2
Round(2.5 , 0) => 2
Formatnumber 함수를 이용해서 반올림을 하시기 바랍니다.
Formatnumber(1.5 , 0) => 2
Formatnumber(2.5 , 0) => 3
원래 FormatNumber 함수는 숫자의 표현형식을 지정하는 함수인데 반올림도 되어집니다.
그런데 여기서 또하나의 문제점!! 바로 천단위마다 콤마(,)가 찍힌다는 문제입니다. 내부적으로 계산할 경우에는 오류를 발생시키지요.
그럼 어떻게 하느냐... 소수점이 있는 숫자이므로 CDbl함수를 이용하여 더블형으로 변환을 시켜주면 해결됩니다.
참고자료
참고자료
댓글목록
등록된 댓글이 없습니다.