string.Format 형식이 뭐가 있을까? 간단히 바꾸는 방법을 정리해보자.
숫자를 문자열로~~
형식 지정자 |
이름 | 설명 |
0 | 0 자리 표시자 | 형식을 지정할 값이 형식 문자열의 '0'이 표시된 위치에 숫자를 가지고 있으면 해당 숫자가 결과 문자열로 복사됩니다. 소수점 앞 가장 왼쪽의 '0'과 소수점 뒤 가장 오른쪽 '0'의 위치는 결과 문자열에 항상 표시될 자릿수의 범위를 결정합니다. |
"00" 지정자를 사용하면 해당 값이 소수점 뒤 첫째 자리에서 반올림되며 항상 0 이상의 정수 값으로 표시됩니다. 예를 들어, 34.5의 형식을 "00"으로 지정하면 결과는 35가 됩니다. | ||
# | 10진수 자리 표시자 | 형식을 지정할 값이 형식 문자열의 '#'이 표시된 위치에 숫자를 가지고 있으면 해당 숫자가 결과 문자열로 복사되고, 그렇지 않으면 결과 문자열의 해당 위치에 아무 것도 저장되지 않습니다. |
0이 유효 자릿수가 아니면 이 지정자는 문자열에서 '0'이 유일한 숫자라 할지라도 '0'을 표시하지 않습니다. 표시되는 숫자에서 0이 유효 자릿수이면 이 지정자는 '0'을 표시합니다. | ||
"##" 형식 문자열을 사용하면 해당 값이 소수점 뒤 첫째 자리에서 반올림되며 항상 0 이상의 정수로 표시됩니다. 예를 들어, 34.5의 형식을 "##"으로 지정하면 결과는 35가 됩니다. | ||
. | 소수점 | 형식 문자열의 첫 번째 '.' 문자는 형식이 지정될 값에서 소수 구분 기호의 위치를 결정하며, 다른 '.' 문자는 무시됩니다. |
소수 구분 기호로 사용되는 실제 문자는 형식 지정을 제어하는 NumberFormatInfo의 NumberDecimalSeparator 속성에 의해 결정됩니다. | ||
, | 1000 단위 구분 기호 및 숫자 배율 | ',' 문자는 1000 단위 구분 기호 지정자와 숫자 배율 지정자로 사용됩니다. |
1000 단위 구분 기호 지정자: 두 개의 10진수 자리 표시자(0 또는 #) 사이에 정수 계열 자릿수의 형식을 지정하는 하나 이상의 ',' 문자가 지정된 경우, 정수 계열 출력 부분의 각 숫자 그룹 사이에 그룹 구분 문자가 삽입됩니다. | ||
현재 NumberFormatInfo 개체의 NumberGroupSeparator 및 NumberGroupSizes 속성은 숫자 그룹 구분 기호로 사용되는 문자와 각 숫자 그룹의 크기를 결정합니다. 예를 들어, 문자열 "#,#"과 고정 culture를 사용하여 숫자 1000의 형식을 지정할 경우 "1,000"이 출력됩니다. | ||
숫자 배율 지정자: 명시적 또는 암시적 소수점의 바로 왼쪽에 하나 이상의 ',' 문자가 지정된 경우 형식을 지정할 숫자는 숫자 배율 지정자가 나타날 때마다 1000으로 나뉩니다. 예를 들어, 문자열 "0,,"을 사용하여 숫자 100000000의 형식을 지정할 경우 "100"이 출력됩니다. | ||
동일한 형식 문자열에 1000 단위 구분 기호와 숫자 배율 지정자를 함께 사용할 수 있습니다. 예를 들어, 문자열 "#,0,,"과 고정 culture를 사용하여 숫자 1000000000의 형식을 지정할 경우 "1,000"이 출력됩니다. | ||
% | 백분율 자리 표시자 | 형식 문자열에 '%' 문자가 있으면 형식이 지정되기 전에 해당 수에 100이 곱해집니다. 형식 문자열에서 '%'가 표시된 위치에는 숫자 자체에서 적절한 기호가 삽입됩니다. 사용되는 백분율 문자는 현재 NumberFormatInfo 클래스에 의해 결정됩니다. |
E0 | 과학적 표기법 | 형식 문자열에 "E", "E+", "E-", "e", "e+" 또는 "e-" 문자열이 표시되고 바로 뒤에 적어도 하나의 '0' 문자가 오면, 해당 수와 지수 사이에 'E' 또는 'e'가 삽입되는 과학적 표기법으로 형식이 지정됩니다. 과학적 표기법 표시기 뒤에 오는 '0' 문자의 개수는 이 숫자의 지수로 나타낼 최소 자릿수를 결정합니다. "E+" 및 "e+" 형식은 기호 문자(더하기나 빼기)가 지수보다 항상 앞에 와야한다는 것을 나타냅니다. "E", "E-", "e" 또는 "e-" 형식은 기호 문자가 음의 지수 앞에만 온다는 것을 나타냅니다. |
E+0 | ||
E-0 | ||
e0 | ||
e+0 | ||
e-0 | ||
\ | 이스케이프 문자 | C# 및 C++에서 백슬래시 문자가 오면 형식 문자열의 다음 문자가 이스케이프 시퀀스로 해석됩니다. 이것은 '\n'(새 줄)처럼 전통적인 형식 지정 시퀀스에서 사용합니다. |
일부 언어에서 이스케이프 문자를 리터럴로 사용할 때는, 이 이스케이프 문자 앞에 이스케이프 문자를 넣어야 합니다. 그렇지 않으면 컴파일러에서 이 문자를 이스케이프 시퀀스로 해석합니다. '\'를 표시하려면 "\\" 문자열을 사용합니다. | ||
Visual Basic에서는 이 이스케이프 문자를 지원하지 않지만 ControlChars에서 같은 기능을 제공합니다. | ||
'ABC' | 리터럴 문자열 | 작은따옴표나 큰따옴표로 묶은 문자는 결과 문자열에 복사되며 형식 지정에 영향을 주지 않습니다. |
"ABC" | ||
; | 섹션 구분 기호 | ';' 문자는 형식 문자열에서 양수, 음수 및 0 섹션을 구분하는 데 사용됩니다. |
기타 | 다른 모든 문자 | 다른 모든 문자는 결과 문자열에 복사되며 형식 지정에는 영향을 주지 않습니다. |
DateTime 문자열 지정 형식~~
형식 지정자 |
이름 | 설명 |
d | 간단한 날짜 패턴 | 현재 ShortDatePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "MM/dd/yyyy"입니다. | ||
D | 자세한 날짜 패턴 | 현재 LongDatePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "dddd, dd MMMM yyyy"입니다. | ||
f | 전체 날짜/시간 패턴(간단한 시간) | 자세한 날짜(D) 패턴과 간단한 시간(t) 패턴을 공백으로 구분하여 조합한 형식을 나타냅니다. |
F | 전체 날짜/시간 패턴(자세한 시간) | 현재 FullDateTimePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "dddd, dd MMMM yyyy HH:mm:ss"입니다. | ||
g | 일반 날짜/시간 패턴(간단한 시간) | 간단한 날짜(d) 패턴과 간단한 시간(t) 패턴을 공백으로 구분하여 조합한 형식을 나타냅니다. |
G | 일반 날짜/시간 패턴(자세한 시간) | 간단한 날짜(d) 패턴과 자세한 시간(t) 패턴을 공백으로 구분하여 조합한 형식을 나타냅니다. |
M 또는 m | 월 일 패턴 | 현재 MonthDayPattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "MMMM dd"입니다. | ||
o | 라운드트립 날짜/시간 패턴 | 표준 시간대 정보를 유지하는 패턴을 사용하여 사용자 지정 DateTime 형식 문자열을 나타냅니다. 이 패턴은 Kind 속성을 포함하여 DateTime 형식을 텍스트로 라운드트립합니다. 그런 다음 형식이 지정된 문자열을 Parse 또는 ParseExact와 올바른 Kind 속성 값을 사용하여 다시 구문 분석할 수 있습니다. |
사용자 지정 형식 문자열은 "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK"입니다. | ||
이 지정자의 패턴은 표준으로 정의되어 있습니다. 따라서 이 패턴은 사용된 culture나 제공된 형식 공급자에 관계없이 항상 같습니다. | ||
R 또는 r | RFC1123 패턴 | 현재 RFC1123Pattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. 이 패턴은 표준으로 정의되어 있으며 해당 속성은 읽기 전용입니다. 따라서 이 패턴은 사용된 culture나 제공된 형식 공급자에 관계없이 항상 같습니다. |
사용자 지정 형식 문자열은 "ddd, dd MMM yyyy HH':'mm':'ss 'GMT'"입니다. | ||
형식을 지정해도 해당 형식이 지정되는 DateTime 개체의 값은 수정되지 않습니다. 따라서 응용 프로그램에서는 이 형식 지정자를 사용하기 전에 값을 UTC(지역 표준시)로 변환해야 합니다. | ||
s | 정렬 가능한 날짜/시간 패턴; ISO 8601에 부합 |
현재 SortableDateTimePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. 이 패턴은 표준으로 정의되어 있으며 해당 속성은 읽기 전용입니다. 따라서 이 패턴은 사용된 culture나 제공된 형식 공급자에 관계없이 항상 같습니다. |
사용자 지정 형식 문자열은 "yyyy'-'MM'-'dd'T'HH':'mm':'ss"입니다. | ||
t | 간단한 시간 패턴 | 현재 ShortTimePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "HH:mm"입니다. | ||
T | 자세한 시간 패턴 | 현재 LongTimePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "HH:mm:ss"입니다. | ||
u | 정렬 가능한 유니버설 날짜/시간 패턴 | 현재 UniversalSortableDateTimePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. 이 패턴은 표준으로 정의되어 있으며 해당 속성은 읽기 전용입니다. 따라서 이 패턴은 사용된 culture나 제공된 형식 공급자에 관계없이 항상 같습니다. |
사용자 지정 형식 문자열은 "yyyy'-'MM'-'dd HH':'mm':'ss'Z"입니다. | ||
날짜 및 시간의 형식이 지정될 때 표준 시간대는 변환되지 않습니다. 따라서 응용 프로그램에서는 이 형식 지정자를 사용하기 전에 현지 날짜 및 시간을 UTC(지역 표준시)로 변환해야 합니다. | ||
U | 정렬 가능한 유니버설 날짜/시간 패턴 | 현재 FullDateTimePattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
이 패턴은 전체 날짜/자세한 시간(F) 패턴과 동일합니다. 그러나 형식 지정 작업이 형식을 지정할 DateTime 개체에 해당하는 UTC(지역 표준시)에 대해 수행된다는 점이 다릅니다. | ||
Y 또는 y | 년 월 패턴 | 현재 YearMonthPattern 속성으로 정의된 사용자 지정 DateTime 형식 문자열을 나타냅니다. |
예를 들어, 고정 culture에 대한 사용자 지정 형식 문자열은 "yyyy MMMM"입니다. | ||
기타 모든 단일 문자 | 알 수 없는 지정자 | 알 수 없는 지정자는 런타임 형식 예외를 throw합니다. |
예제
// This code example demonstrates the ToString(String) and using System; class Sample string msgCurrency = "(C) Currency: . . . . . . "; string msg1 = "Use ToString(String) and the current thread culture.\n"; CultureInfo ci; // Display the thread current culture, which is used to format the values. // Display the integral and floating-point values. // Use the format specifiers that are only for integral types. // Use the format specifier that is only for the Single and Double // Use the format specifiers that are for integral or floating-point types. // Display the same values using a CultureInfo object. The CultureInfo class // Display the culture used to format the values. // Display the integral and floating-point values. // Use the format specifiers that are only for integral types. // Use the format specifier that is only for the Single and Double // Use the format specifiers that are for integral or floating-point types. Standard Numeric Format Specifiers: Use ToString(String) and the current thread culture. Culture: English (United States) Format specifiers only for integral types: Format specifier only for the Single and Double types: Format specifiers for integral or floating-point types: Use ToString(String, IFormatProvider) and a specified culture. Culture: German (Germany) Format specifiers only for integral types: Format specifier only for the Single and Double types: Format specifiers for integral or floating-point types: */ |
출처 : http://msdn.microsoft.com/ko-kr/library/fht0f5be(VS.80).aspx