Visual Basic 6.0 사용자를 위한 Format 함수
업데이트: 2007년 11월
Visual Basic 2008의 Format 함수는 이제 CLR(공용 언어 런타임) 사양에 따라 데이터 형식을 지정합니다. .NET Framework에서 데이터 형식을 지정하는 방법에 대한 자세한 내용은 형식 지정을 참조하십시오.
다음 단원에서는 Visual Basic 2008에서 사용자 정의 날짜/시간, 숫자 및 문자열 형식의 변경 내용에 대해 자세히 설명합니다.
사용자 정의 날짜/시간 형식
Visual Basic 6.0
Visual Basic 6.0에서는 "ddddd" 또는 "dddddd" 형식 지정자를 사용하여 날짜를 간단하게 또는 자세하게 표시합니다. DayOfWeek("w") 및 WeekOfYear("ww") 지정자를 사용하여 각각 주의 첫째 요일과 일 년의 첫째 주를 표시합니다. 소문자 "m"을 지정하면 앞에 0이 없이 달이 숫자로 표시됩니다. Quarter 지정자("q")를 사용하면 분기가 1에서 4 사이의 숫자로 표시됩니다.
앞에 0을 포함하거나 포함하지 않고 분을 숫자로 표시하려면 각각 형식 지정자 "Nn"과 "N"을 사용합니다. 문자 "Hh"를 지정하면 시간이 앞에 0을 포함하여 숫자로 표시되며 "ttttt"를 지정하면 완전한 시간이 표시됩니다. 오전과 오후를 의미하는 "A"와 "P"를 시간과 함께 대문자 또는 소문자로 표시하려면 "AM/PM", "am/pm", "A/P", "a/p" 또는 "AMPM"을 사용합니다.
간단한 날짜/시간 지정자("c")를 사용하면 날짜 및 시간이 "ddddd ttttt" 형식으로 표시됩니다.
Visual Basic 2005
Visual Basic 2008에서 "ddddd"와 "dddddd"는 날짜의 전체 이름을 표시하는 "dddd"와 똑같이 작동하며 날짜를 간단하게 표시하거나 자세하게 표시하지는 않습니다. DayOfWeek("w")와 WeekOfYear("ww")는 지원되지 않습니다. 대신 다음 예제에서 볼 수 있는 것과 같이 DatePart 함수를 사용할 수 있습니다.
Format(DatePart(DateInterval.Weekday, Now))
...
Format(DatePart(DateInterval.WeekOfYear, Now))
"M"과 "m"의 의미는 서로 다르므로 대/소문자를 구분하여 사용해야 합니다. 대문자 "M"은 날짜/시간 형식의 날짜 부분에만 사용하고 소문자 "m"은 시간 형식의 분 부분에만 사용합니다.
Quarter 형식 지정자는 지원되지 않습니다. 대신 다음 예제에서 볼 수 있는 것과 같이 DatePart 함수를 사용할 수 있습니다.
Format(DatePart(DateInterval.Quarter, Now))
앞에 0을 포함하거나 포함하지 않고 분을 숫자로 표시하려면 각각 "mm"이나 "m"을 사용합니다. "ttttt" 형식은 더 이상 지원되지 않습니다. "H"와 "h"의 의미는 서로 다르므로 대/소문자를 구분하여 사용해야 합니다. 대문자 "H"는 24시간 형식으로 나타낼 때만 사용하고 소문자 "h"는 12시간 형식으로 나타낼 때만 사용합니다. AM/PM 형식은 "t" 또는 "tt" 형식으로 대체되었습니다.
"c" 지정자는 통화 형식을 지정하는 데 사용됩니다. 날짜/시간 형식을 지정할 때 간단한 날짜/시간 지정자를 사용하려면 "g"를 사용하고 일반 날짜/시간 지정자를 사용하려면 "G"를 사용합니다. "g"와 "G" 모두 현재 로캘 설정을 사용하여 적절한 날짜 및 시간 형식을 결정합니다.
사용자 정의 숫자 형식
Visual Basic 6.0
Visual Basic 6.0에서 Format 함수는 문자열의 형식을 지정하기 전에 필요한 경우 문자열을 숫자로 변환합니다. 소수 부분이 없는 경우에는 Format에서 끝에 소수점을 표시합니다.
Visual Basic 6.0에서는 형식 지정 문자열에 네 개의 섹션을 사용할 수 있습니다. 이 섹션은 세미콜론(;)으로 구분되며 각각 양수, 음수, 0 및 null 값의 형식을 지정하는 방법을 지정합니다. 음수 섹션 형식 문자열이 비어 있는 음수는 빈 문자열로 표시됩니다.
공학용 표기법의 형식 지정에는 지수 다음에 "0"과 "#" 십진수 자리 표시자 모두를 사용할 수 있습니다.
Visual Basic 2005
Visual Basic 2008에서는 형식을 지정하기 전에 Format 함수에서 문자열을 숫자로 변환하지 않습니다. 첫 번째 인수에는 문자열이 아닌 숫자를 전달해야 합니다. 다음 예제에서 코드의 두 번째 줄로는 Visual Basic 2008에서 의도한 결과를 얻을 수 있지만 첫 번째 줄로는 의도한 결과를 얻을 수 없습니다.
MsgBox(Format("1.234", "#.#")) ' Displays "#.#".
...
MsgBox(Format(CSng("1.234"), "#.#")) ' Displays "1.2".
아래 예제에서 볼 수 있는 것과 같이 마지막의 소수점은 표시되지 않습니다.
MsgBox(Format(123, "###.")) ' Displays "123"
...
MsgBox(Format(123, "###.#")) ' Displays "123"
Visual Basic 2008에서는 형식 지정 문자열에 양수, 음수 및 0 값의 형식을 지정할 수 있는 세 개의 섹션을 사용할 수 있습니다. 0이 아닌 값을 양수나 음수에 따라 0으로 반올림할 경우 세 번째 섹션에 따라 형식이 지정됩니다. 음수 섹션 형식 문자열이 비어 있는 음수는 다음에서 볼 수 있는 것과 같이 빼기 기호로 표시됩니다.
MsgBox(Format(-1, ";")) ' Displays "-".
공학용 표기법의 형식 지정에는 "0" 십진수 자리 표시자만 사용할 수 있으며 "#"은 사용할 수 없습니다. 다음 예제에서 코드의 두 번째 줄로는 Visual Basic 2008에서 의도한 결과를 얻을 수 있지만 첫 번째 줄로는 의도한 결과를 얻을 수 없습니다.
MsgBox(Format(123, "#e+#")) ' Displays "12e+3".
...
MsgBox(Format(123, "#e+0")) ' Displays "1e+2".
문자열 형식
Visual Basic 6.0
Visual Basic 6.0에서는 @, &, <, > 및 ! 지정자를 사용하여 사용자 정의 형식 문자열에 대한 식을 만들 수 있습니다.
Visual Basic 2005
Visual Basic 2008에서는 사용자 정의 형식 문자열에 대한 식이 지원되지 않으므로 @, &, <, > 및 ! 형식 지정자는 의미가 없으며 더 이상 지원되지 않습니다.
참고 항목
개념
Visual Basic 6.0 사용자를 위한 날짜 및 시간