최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

   FormatNumber


The FormatNumber function returns an expression formatted as a number.


FormatNumber함수는 지정된 식을 숫자로 반환합니다.



   Syntax


FormatNumber(Expression[,NumDigAfterDec[,IncLeadingDig[,UseParForNegNum[,GroupDig]]]])


FormatNumber(입력 값, [소수점 표현 갯수], [앞에0 붙이기], [음수를(괄호)로 묶기], [화폐단위처럼 ,콤마 찍기])


각 항목의 내용은 이렇다.


parameter

 description

 Expression 

 포맷이 되는 식. 필수 값

 NumDigAfterDec 

 얼만큼의 소수점을 오른쪽에 나타낼 지 표현합니다. 

 기본값-1 (컴퓨터의 국가별 설정에 따름)

 IncLeadingDig 

 숫자의 맨처음 시작이 ".20"과 같이 소수일 경우 

 앞에 0을 표시 하는지의 여부를 나타냅니다.

 기본값-2 (컴퓨터의 국가별 설정에 따름)

  -1 : true

  0 : false

 UseParForNegNum 

 음수를 괄호로 묶을지의 여부를 나타내는 항목.

 기본값-2 (컴퓨터의 국가별 설정에 따름)

  -1 : true

   0 : false

 GroupDig 

 컴퓨터의 국가별 설정에 따라 설정된 그룹(범위)마다 구분 기호인 ',(콤마)'를 

 사용하여 그룹화 표현을 합니다.

 기본값-2 (컴퓨터의 국가별 설정에 따름)

 -1 : true

  0 : false



   Careful


사용시 유의할 점 은 자동 반올림이되는 속성이다. 왜 그 내용이 API에 누락되었는지는...


Dim n:n = 50000.456


fNum = FormatNumber(n, 0)


결과 : 50,000   해설 : 변수 n의 소수점은 0자리 까지 표현.


fNum = FormatNumber(n, 1) 


결과 50,000.5   해설 : 변수 n의 소수점 첫째자리 까지 표현 하지만 소수점 두번째 에서 반올림 하였으므로 5가 되었다.


fNum = FormatNumber(n, 2) 


결과 50,000.46   해설 : 변수 n의 소수점 두번째 자리 까지 표현 하지만 소수점 세번째에서 반올림 하였으므로 6이 되었다.


fNum = FormatNumber(n, 2,,,0)


결과 50000.46    해설 : 결과는 위와 같지만 맨 뒤에 옵션을 '0 (false)' 하였기 때문에 ',(콤마)'가 사라졌다. 


                                반환 값이 String임을 유추할 수 있다.



내가 추천하는 사용 방법은 fNum = FormatNumber(n, 2, 0, 0, 0) 이다. 


두번째 인자값인 자릿수를 제외하고는 그냥 모두 '0(false)'으로 처리 하는 것. (나머지는 특별히 사용될 용도가 많이 없어 보이기에)


   Examples

Example 1

<%

response.write(FormatNumber(20000))

%>

The output of the code above will be:

20,000.00

Show Example »


Example 2

Setting number of decimals:

<%

response.write(FormatNumber(20000,2) & "<br />")
response.write(FormatNumber(20000,5))

%>

The output of the code above will be:

20,000.00
20,000.00000

Show Example »


Example 3

Fractional values with or without a leading zero:

<%

response.write(FormatNumber(.20,,0) & "<br />")
response.write(FormatNumber(.20,,-1))

%>

The output of the code above will be:

.20
0.20

Show Example »


Example 4

Negative values inside parentheses or not:

<%

response.write(FormatNumber(-50,,,0) & "<br />")
response.write(FormatNumber(-50,,,-1))

%>

The output of the code above will be:

-50.00
(50.00)

Show Example »


Example 5

Grouping numbers - or not:

<%

response.write(FormatNumber(1000000,,,,0) & "<br />")
response.write(FormatNumber(1000000,,,,-1))

%>

The output of the code above will be:

1000000.00
1,000,000.00

Show Example »



예제 영어 원문 : http://www.w3schools.com/vbscript/func_formatnumber.asp







댓글