표준 숫자 형식 문자열은 일반적인 숫자 형식의 서식을 지정하는 데 사용됩니다. 표준 숫자 형식 문자열은 다음과 같은 형식 [format specifier][precision specifier]
을 사용합니다.
형식 지정자는 숫자 형식의 형식(예: 통화 또는 백분율)을 지정하는 단일 알파벳 문자입니다. 공백을 포함하여 둘 이상의 알파벳 문자를 포함하는 숫자 서식 문자열은 사용자 지정 숫자 서식 문자열로 해석됩니다. 자세한 내용은 사용자 지정 숫자 형식 문자열을 참조하세요.
전체 자릿수 지정자는 결과 문자열의 숫자 수에 영향을 주는 선택적 정수입니다. .NET 7 이상 버전에서 최대 정밀도 값은 999,999,999입니다. .NET 6에서 최대 전체 자릿수 값은 Int32.MaxValue. 이전 .NET 버전에서 전체 자릿수는 0에서 99까지입니다. 전체 자릿수 지정자는 숫자의 문자열 표현에서 숫자 수를 제어합니다. 숫자 자체를 반올림하지 않습니다. 반올림 작업을 수행하려면 , Math.Ceiling또는 Math.Floor 메서드를 Math.Round사용합니다.
전체 자릿수 지정자가 결과 문자열의 소수 자릿수를 제어하는 경우 결과 문자열은 무한정 정확한 결과에 가장 가까운 표시 가능한 결과로 반올림되는 숫자를 반영합니다. 두 개의 동일하게 나타낼 수 있는 결과가 있는 경우:
- .NET Framework 및 .NET Core에서 .NET Core 2.0까지 런타임은 유효 자릿수가 가장 낮은 결과(즉, 사용 MidpointRounding.AwayFromZero)를 선택합니다.
- .NET Core 2.1 이상에서 런타임은 유효 자릿수가 가장 낮은 결과(즉, 사용 MidpointRounding.ToEven)를 선택합니다.
메모
전체 자릿수 지정자는 결과 문자열의 자릿수를 결정합니다. 선행 또는 후행 공백으로 결과 문자열을 패딩하려면 복합 서식 지정 기능을 사용하고 서식 항목에서 너비 구성 요소를 정의합니다.
표준 숫자 형식 문자열은 다음에서 지원됩니다.
모든 숫자 형식의
ToString
메서드에 대한 일부 오버로드입니다. 예를 들어 숫자 형식 문자열을 및 Int32.ToString(String) 메서드에 Int32.ToString(String, IFormatProvider) 제공할 수 있습니다.TryFormat
예를 들어 Int32.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) 모든 숫자 형식의 메서드입니다Single.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider).클래스, 메서드 및 메서드의
Write
WriteLine
Console 일부 StreamWriter 및 String.Format 메서드에서 사용되는 .NET StringBuilder.AppendFormat입니다. 복합 형식 기능을 사용하면 여러 데이터 항목의 문자열 표현을 단일 문자열에 포함하고, 필드 너비를 지정하고, 필드에 숫자를 맞출 수 있습니다. 자세한 내용은 복합 서식을 참조하세요.복합 형식 문자열과 비교할 때 간소화된 구문을 제공하는 C# 및 Visual Basic의 보간된 문자열입니다.
팁 (조언)
숫자 또는 날짜 및 시간 값에 서식 문자열을 적용하고 결과 문자열을 표시할 수 있는 .NET Core Windows Forms 애플리케이션인 서식 유틸리티를 다운로드할 수 있습니다. 소스 코드는 C# 및 Visual Basic에 사용할 수 있습니다.
표준 형식 지정자
다음 표에서는 표준 숫자 형식 지정자에 대해 설명하고 각 형식 지정자가 생성한 샘플 출력을 표시합니다. 표준 숫자 형식 문자열을 사용하는 방법에 대한 자세한 내용은 Notes 섹션을 참조하고, 코드 예제 섹션을 참조하세요.
특정 문화권에 대한 형식이 지정된 문자열의 결과는 다음 예제와 다를 수 있습니다. 운영 체제 설정, 사용자 설정, 환경 변수 및 사용 중인 .NET 버전은 모두 형식에 영향을 줄 수 있습니다. 예를 들어 .NET 5부터 .NET은 여러 플랫폼에서 문화 형식을 통합하려고 합니다. 자세한 내용은 .NET 세계화 및 ICU를 참조하세요.
서식 지정자 | 이름 | 설명 | 예시 |
---|---|---|---|
"B" 또는 "b" | 바이너리 | 결과: 이진 문자열입니다. 지원: 정수 형식만(.NET 8 이상). 전체 자릿수 지정자: 결과 문자열의 숫자 수입니다. 추가 정보: 이진("B") 형식 지정자입니다. |
42 ("나") -> 101010 255 ("B16") -> 0000000011111111 |
"C" 또는 "c" | 통화 | 결과: 통화 값입니다. 지원: 모든 숫자 형식. 전체 자릿수 지정자: 소수 자릿수입니다. 기본 전체 자릿수 지정자: 에 의해 NumberFormatInfo.CurrencyDecimalDigits정의됩니다. 추가 정보: 통화("C") 형식 지정자입니다. |
123.456("C", en-US) -> $123.46엔 123.456("C", fr-FR) -> 123,46 유로 123.456 ("씨", ja-JP) -> 123엔 -123.456("C3", en-US) -> ($123.456엔) -123.456("C3", fr-FR) -> -123,456 유로 -123.456("C3", ja-JP) -> -123.456 |
"D" 또는 "d" | 십진수 | 결과: 선택적 음수 기호가 있는 정수 숫자입니다. 지원: 정수 계열 형식에만 해당합니다. 전체 자릿수 지정자: 최소 자릿수입니다. 기본 전체 자릿수 지정자: 필요한 최소 자릿수입니다. 추가 정보: Decimal("D") 형식 지정자입니다. |
1234("D") -> 1234년 -1234("D6") -> -001234 |
"E" 또는 "e" | 지수(과학) | 결과: 지수 표기법입니다. 지원: 모든 숫자 형식. 전체 자릿수 지정자: 소수 자릿수입니다. 기본 전체 자릿수 지정자: 6. 추가 정보: 지수("E") 형식 지정자입니다. |
1052.0329112756 ("E", en-US) -> 1.052033E+003 1052.0329112756("e", fr-FR) -> 1,052033E+003 -1052.0329112756("e2", en-US) -> -1.05E+003 -1052.0329112756("E2", fr-FR) -> -1,05E+003 |
"F" 또는 "f" | 고정 소수점 | 결과: 선택적 음수 기호가 있는 정수 및 소수 자릿수입니다. 지원: 모든 숫자 형식. 전체 자릿수 지정자: 소수 자릿수입니다. 기본 전체 자릿수 지정자: 에 의해 NumberFormatInfo.NumberDecimalDigits정의됩니다. 추가 정보: Fixed-Point("F") 형식 지정자입니다. |
1234.567 ("에프", en-US) -> 1234.57 년 1234.567("F", de-DE) -> 1234,57 1234("F1", en-US) -> 1234.0 1234("F1", de-DE) -> 1234,0 -1234.56("F4", en-US) -> -1234.5600 -1234.56("F4", de-DE) -> -1234,5600 |
"G" 또는 "g" | 일반 | 결과: 고정 소수점 또는 과학적 표기법이 더 압축됩니다. 지원: 모든 숫자 형식. 전체 자릿수 지정자: 유효 자릿수입니다. 기본 전체 자릿수 지정자: 숫자 형식에 따라 다릅니다. 추가 정보: 일반("G") 형식 지정자입니다. |
-123.456("G", en-US) -> -123.456 -123.456("G", sv-SE) -> -123,456 123.4546("G4", en-US) -> 123.5 123.4546("G4", sv-SE) -> 123,5 -1.234567890e-25("G", en-US) -> -1.23456789E-25 -1.234567890e-25("G", sv-SE) -> -1,23456789E-25 |
"N" 또는 "n" | 숫자 | 결과: 정수 및 10진수 숫자, 그룹 구분 기호 및 선택적 음수 기호가 있는 소수 구분 기호입니다. 지원: 모든 숫자 형식. 전체 자릿수 지정자: 원하는 소수 자릿수입니다. 기본 전체 자릿수 지정자: 에 의해 NumberFormatInfo.NumberDecimalDigits정의됩니다. 추가 정보: 숫자("N") 형식 지정자입니다. |
1234.567 ("N", en-US) -> 1,234.57 1234.567("N", ru-RU) -> 1 234,57 1234년 ("N1", en-US) -> 1,234.0 1234("N1", ru-RU) -> 1 234,0 -1234.56("N3", en-US) -> -1,234.560 -1234.56("N3", ru-RU) -> -1 234,560 |
"P" 또는 "p" | 퍼센트 | 결과: 숫자를 100으로 곱하고 백분율 기호와 함께 표시합니다. 지원: 모든 숫자 형식. 전체 자릿수 지정자: 원하는 소수 자릿수입니다. 기본 전체 자릿수 지정자: 에 의해 NumberFormatInfo.PercentDecimalDigits정의됩니다. 추가 정보: 백분율("P") 형식 지정자입니다. |
1("P", en-US) -> 100.00 % 1("P", fr-FR) -> 100,000 % -0.39678("P1", en-US) -> -39.7% -0.39678("P1", fr-FR) -> -39,7% |
"R" 또는 "r" | 왕복 | 결과: 동일한 숫자로 왕복할 수 있는 문자열입니다. 지원되는 형식: Single, Double 및 BigInteger 참고: 형식에 BigInteger 만 권장합니다. 형식의 경우 Double "G17"을 사용하고 형식에는 Single "G9"를 사용합니다. 전체 자릿수 지정자: 무시됩니다. 추가 정보: 왕복("R") 형식 지정자입니다. |
123456789.12345678("R") -> 123456789.12345678 -1234567890.12345678("R") -> -1234567890.1234567 |
"X" 또는 "x" | 16 진수 | 결과: 16진수 문자열입니다. 지원: 정수 계열 형식에만 해당합니다. 전체 자릿수 지정자: 결과 문자열의 숫자 수입니다. 추가 정보: 16진수("X") 형식 지정자입니다. |
255("X") -> FF (FF) -1("x") -> FF 255("x4") -> 00FF -1("X4") -> 00FF |
다른 모든 단일 문자 | 알 수 없는 지정자 | 결과: 런타임에 throw FormatException 합니다. |
표준 숫자 형식 문자열 사용
메모
이 문서의 C# 예제는 Try.NET 인라인 코드 실행기 및 플레이그라운드에서 실행됩니다. 실행 단추를 선택하여 대화형 창에서 예제를 실행합니다. 코드를 실행하면 코드를 수정하고 실행을 다시 선택하여 수정된 코드를 실행할 수 있습니다. 수정된 코드는 대화형 창에서 실행되거나 컴파일에 실패하면 대화형 창에 모든 C# 컴파일러 오류 메시지가 표시됩니다.
표준 숫자 서식 문자열을 사용하여 다음 방법 중 하나로 숫자 값의 서식을 정의할 수 있습니다.
매개 변수가 있는 메서드 또는 메서드
TryFormat
의 오버로드에ToString
전달할format
수 있습니다. 다음 예제에서는 현재 문화권에서 숫자 값의 형식을 통화 문자열로 지정합니다(이 경우 en-US 문화권).decimal value = 123.456m; Console.WriteLine(value.ToString("C2")); // Displays $123.46
Dim value As Decimal = 123.456d Console.WriteLine(value.ToString("C2")) ' Displays $123.46
메서드와 같은 메서드와 함께 사용되는 형식 항목에서 인수로
formatString
String.FormatConsole.WriteLine제공될 수 있습니다.StringBuilder.AppendFormat 자세한 내용은 복합 서식을 참조하세요. 다음 예제에서는 형식 항목을 사용하여 문자열에 통화 값을 삽입합니다.decimal value = 123.456m; Console.WriteLine($"Your account balance is {value:C2}."); // Displays "Your account balance is $123.46."
Dim value As Decimal = 123.456d Console.WriteLine("Your account balance is {0:C2}.", value) ' Displays "Your account balance is $123.46."
필요에 따라 인수를
alignment
제공하여 숫자 필드의 너비와 해당 값이 오른쪽 또는 왼쪽 맞춤인지 여부를 지정할 수 있습니다. 다음 예제에서는 28자 필드에 통화 값을 왼쪽 맞춤하고 14자 필드에 통화 값을 오른쪽 맞춤합니다.decimal[] amounts = { 16305.32m, 18794.16m }; Console.WriteLine(" Beginning Balance Ending Balance"); Console.WriteLine(" {0,-28:C2}{1,14:C2}", amounts[0], amounts[1]); // Displays: // Beginning Balance Ending Balance // $16,305.32 $18,794.16
Dim amounts() As Decimal = {16305.32d, 18794.16d} Console.WriteLine(" Beginning Balance Ending Balance") Console.WriteLine(" {0,-28:C2}{1,14:C2}", amounts(0), amounts(1)) ' Displays: ' Beginning Balance Ending Balance ' $16,305.32 $18,794.16
보간된 문자열의
formatString
보간된 식 항목에서 인수로 제공할 수 있습니다. 자세한 내용은 C# 참조의 문자열 보간 문서 또는 Visual Basic 참조의 보간된 문자열 문서를 참조하세요.
다음 섹션에서는 각 표준 숫자 형식 문자열에 대한 자세한 정보를 제공합니다.
이진 형식 지정자(B)
이진("B") 형식 지정자는 숫자를 이진 숫자 문자열로 변환합니다. 이 형식은 정수 계열 형식에 대해서만 지원되며 .NET 8 이상에서만 지원됩니다.
전체 자릿수 지정자는 결과 문자열에서 원하는 최소 자릿수를 나타냅니다. 필요한 경우 전체 자릿수 지정자가 지정한 자릿수를 생성하기 위해 숫자가 왼쪽에 0으로 채워집니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받지 않습니다.
통화 형식 지정자(C)
"C"(또는 통화) 형식 지정자는 숫자를 통화 금액을 나타내는 문자열로 변환합니다. 전체 자릿수 지정자는 결과 문자열에서 원하는 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 기본 전체 자릿수가 속성에 NumberFormatInfo.CurrencyDecimalDigits 의해 정의됩니다.
서식을 지정할 값이 지정하거나 기본값인 소수 자릿수보다 많은 경우 소수 자릿수 값은 결과 문자열에서 반올림됩니다. 지정한 소수 자릿수의 오른쪽에 있는 값이 5 이상이면 결과 문자열의 마지막 숫자가 0에서 둥글게 반올림됩니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표에서는 반환된 NumberFormatInfo 문자열의 서식을 제어하는 속성을 나열합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
CurrencyPositivePattern | 양수 값에 대한 통화 기호의 배치를 정의합니다. |
CurrencyNegativePattern | 음수 값에 대한 통화 기호의 배치를 정의하고 음수 기호가 괄호 또는 NegativeSign 속성으로 표시되는지 여부를 지정합니다. |
NegativeSign | 괄호가 사용되지 않음을 나타내는 경우 CurrencyNegativePattern 사용되는 음수 기호를 정의합니다. |
CurrencySymbol | 통화 기호를 정의합니다. |
CurrencyDecimalDigits | 통화 값의 기본 소수 자릿수를 정의합니다. 전체 자릿수 지정자를 사용하여 이 값을 재정의할 수 있습니다. |
CurrencyDecimalSeparator | 정수 자릿수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
CurrencyGroupSeparator | 정수 그룹을 구분하는 문자열을 정의합니다. |
CurrencyGroupSizes | 그룹에 표시되는 정수 자릿수를 정의합니다. |
다음 예제에서는 통화 형식 지정자를 사용하여 Double 값의 서식을 지정합니다.
double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture));
Console.WriteLine(value.ToString("C3",
CultureInfo.CreateSpecificCulture("da-DK")));
// The example displays the following output on a system whose
// current culture is English (United States):
// $12,345.68
// $12,345.679
// 12.345,679 kr
Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture))
Console.WriteLine(value.ToString("C3", CultureInfo.CurrentCulture))
Console.WriteLine(value.ToString("C3", _
CultureInfo.CreateSpecificCulture("da-DK")))
' The example displays the following output on a system whose
' current culture is English (United States):
' $12,345.68
' $12,345.679
' kr 12.345,679
10진수 형식 지정자(D)
"D"(또는 10진수) 형식 지정자는 숫자를 10진수 문자열(0-9)로 변환하고, 숫자가 음수이면 빼기 기호로 접두사를 지정합니다. 이 형식은 정수 형식에 대해서만 지원됩니다.
전체 자릿수 지정자는 결과 문자열에서 원하는 최소 자릿수를 나타냅니다. 필요한 경우 전체 자릿수 지정자가 지정한 자릿수를 생성하기 위해 숫자가 왼쪽에 0으로 채워집니다. 전체 자릿수 지정자가 지정되지 않은 경우 기본값은 선행 0이 없는 정수에 필요한 최소값입니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표와 같이 단일 속성은 결과 문자열의 서식에 영향을 줍니다.
NumberFormatInfo 속성 | 설명 |
---|---|
NegativeSign | 숫자가 음수임을 나타내는 문자열을 정의합니다. |
다음은 10진수 서식 지정자를 사용하여 Int32 값의 서식을 지정하는 예제입니다.
int value;
value = 12345;
Console.WriteLine(value.ToString("D"));
// Displays 12345
Console.WriteLine(value.ToString("D8"));
// Displays 00012345
value = -12345;
Console.WriteLine(value.ToString("D"));
// Displays -12345
Console.WriteLine(value.ToString("D8"));
// Displays -00012345
Dim value As Integer
value = 12345
Console.WriteLine(value.ToString("D"))
' Displays 12345
Console.WriteLine(value.ToString("D8"))
' Displays 00012345
value = -12345
Console.WriteLine(value.ToString("D"))
' Displays -12345
Console.WriteLine(value.ToString("D8"))
' Displays -00012345
지수 형식 지정자(E)
지수("E") 형식 지정자는 숫자를 "-d.ddd... E+ddd" 또는 "-d.ddd... e+ddd"입니다. 여기서 각 "d"는 숫자(0-9)를 나타냅니다. 숫자가 음수이면 문자열이 빼기 기호로 시작합니다. 정확히 한 자리는 항상 소수점 앞에 섰습니다.
전체 자릿수 지정자는 소수점 뒤의 원하는 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 소수점 이후의 기본값인 6자리가 사용됩니다.
형식 지정자의 대/소문자는 지수 접두사를 "E" 또는 "e"로 접두사로 지정할지 여부를 나타냅니다. 지수는 항상 더하기 또는 빼기 기호와 최소 3자리 숫자로 구성됩니다. 지수는 필요한 경우 이 최소값을 충족하기 위해 0으로 채워집니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표에서는 반환된 NumberFormatInfo 문자열의 서식을 제어하는 속성을 나열합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
NegativeSign | 계수와 지수 모두에 대해 숫자가 음수임을 나타내는 문자열을 정의합니다. |
NumberDecimalSeparator | 계수의 정수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
PositiveSign | 지수가 양수임을 나타내는 문자열을 정의합니다. |
다음 예제에서는 지수 형식 지정자를 사용하여 Double 값의 서식을 지정합니다.
double value = 12345.6789;
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture));
// Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture));
// Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture));
// Displays 1.2346e+004
Console.WriteLine(value.ToString("E",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 1,234568E+004
Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture))
' Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture))
' Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture))
' Displays 1.2346e+004
Console.WriteLine(value.ToString("E", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 1,234568E+004
고정 소수점 형식 지정자(F)
고정 소수점("F") 형식 지정자는 숫자를 "-ddd.ddd..." 형식의 문자열로 변환합니다. 여기서 각 "d"는 숫자(0-9)를 나타냅니다. 숫자가 음수이면 문자열이 빼기 기호로 시작합니다.
정밀도 지정자는 원하는 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 현재 NumberFormatInfo.NumberDecimalDigits 속성은 숫자 정밀도를 제공합니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표에서는 결과 문자열의 서식을 NumberFormatInfo 제어하는 개체의 속성을 나열합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
NegativeSign | 숫자가 음수임을 나타내는 문자열을 정의합니다. |
NumberDecimalSeparator | 정수 자릿수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
NumberDecimalDigits | 기본 소수 자릿수를 정의합니다. 전체 자릿수 지정자를 사용하여 이 값을 재정의할 수 있습니다. |
다음 예제에서는 고정 소수점 형식 지정자를 사용하여 Double a Int32 및 값의 서식을 지정합니다.
int integerNumber;
integerNumber = 17843;
Console.WriteLine(integerNumber.ToString("F",
CultureInfo.InvariantCulture));
// Displays 17843.00
integerNumber = -29541;
Console.WriteLine(integerNumber.ToString("F3",
CultureInfo.InvariantCulture));
// Displays -29541.000
double doubleNumber;
doubleNumber = 18934.1879;
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture));
// Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture));
// Displays 18934
doubleNumber = -1898300.1987;
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture));
// Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays -1898300,199
Dim integerNumber As Integer
integerNumber = 17843
Console.WriteLine(integerNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 17843.00
integerNumber = -29541
Console.WriteLine(integerNumber.ToString("F3", CultureInfo.InvariantCulture))
' Displays -29541.000
Dim doubleNumber As Double
doubleNumber = 18934.1879
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture))
' Displays 18934
doubleNumber = -1898300.1987
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture))
' Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays -1898300,199
일반 형식 지정자(G)
일반("G") 형식 지정자는 숫자의 형식과 정밀도 지정자가 있는지 여부에 따라 숫자를 고정 소수점 또는 과학적 표기법의 압축으로 변환합니다. 전체 자릿수 지정자는 결과 문자열에 나타날 수 있는 최대 유효 자릿수를 정의합니다. 전체 자릿수 지정자를 생략하거나 0이면 다음 표에 표시된 대로 숫자의 형식에 따라 기본 전체 자릿수가 결정됩니다.
숫자 형식 | 기본 전체 자릿수 |
---|---|
Byte 또는 SByte | 3자리 숫자 |
Int16 또는 UInt16 | 5자리 숫자 |
Int32 또는 UInt32 | 10자리 숫자 |
Int64 | 19자리 숫자 |
UInt64 | 20자리 숫자 |
BigInteger | 무제한( "R"과 동일) |
Half | 숫자를 나타내는 가장 작은 라운드트립 가능 자릿수 |
Single | 숫자를 나타내는 가장 작은 라운드트립 가능 자릿수입니다(.NET Framework에서는 G7이 기본값임). |
Double | 숫자를 나타내는 가장 작은 라운드트립 가능 자릿수입니다(.NET Framework에서는 G15가 기본값임). |
Decimal | 숫자를 나타내는 가장 작은 라운드트립 가능 자릿수 |
고정 소수점 표기법은 과학적 표기법으로 숫자를 표현한 결과 지수가 -5 보다 크고 정밀도 지정자보다 작으면 사용됩니다. 그렇지 않으면 과학적 표기법이 사용됩니다. 필요한 경우 결과에는 소수점이 포함되고 소수점 뒤의 후행 0은 생략됩니다. 전체 자릿수 지정자가 있고 결과의 유효 자릿수가 지정된 전체 자릿수를 초과하면 반올림을 통해 초과 후행 자릿수가 제거됩니다.
그러나 숫자가 a Decimal 이고 전체 자릿수 지정자를 생략하면 고정 소수점 표기법이 항상 사용되며 후행 0이 유지됩니다.
과학적 표기법을 사용하는 경우 형식 지정자가 "G"이면 결과의 지수 앞에 "E", 형식 지정자가 "g"인 경우 "e"가 접두사로 지정됩니다. 지수에는 최소 두 자리 숫자가 포함됩니다. 지수에 최소 3자리 숫자를 포함하는 지수 형식 지정자에 의해 생성되는 과학적 표기법의 형식과 다릅니다.
값과 함께 Double 사용할 경우 "G17" 형식 지정자는 원래 Double 값이 성공적으로 왕복되도록 합니다.
Double 이는 IEEE 754-2008 규격 배정밀도(binary64
) 부동 소수점 숫자로 최대 17자리의 정밀도를 제공하기 때문입니다. .NET Framework에서는 "R" 형식 지정자 대신 사용하는 것이 좋습니다. 경우에 따라 "R"이 왕복 배정밀도 부동 소수점 값을 성공적으로 라운드트립하지 못하기 때문에 사용하는 것이 좋습니다.
값과 함께 Single 사용할 경우 "G9" 형식 지정자는 원래 Single 값이 성공적으로 왕복되도록 합니다. 이는 Single IEEE 754-2008 규격 단정밀도(binary32
) 부동 소수점 숫자로 최대 9자리의 정밀도를 제공하기 때문입니다. 성능상의 이유로 "R" 형식 지정자 대신 사용하는 것이 좋습니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표에서는 결과 문자열의 서식을 제어하는 속성을 나열 NumberFormatInfo 합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
NegativeSign | 숫자가 음수임을 나타내는 문자열을 정의합니다. |
NumberDecimalSeparator | 정수 자릿수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
PositiveSign | 지수가 양수임을 나타내는 문자열을 정의합니다. |
다음 예제에서는 일반 형식 지정자를 사용하여 다양한 부동 소수점 값의 서식을 지정합니다.
double number;
number = 12345.6789;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 12345.6789
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture));
// Displays 12345.68
number = .0000023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 2.3E-06
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 2,3E-06
number = .0023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 0.0023
number = 1234;
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture));
// Displays 1.2E+03
number = Math.PI;
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture));
// Displays 3.1416
Dim number As Double
number = 12345.6789
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 12345.6789
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture))
' Displays 12345.68
number = .0000023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 2.3E-06
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 2,3E-06
number = .0023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 0.0023
number = 1234
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture))
' Displays 1.2E+03
number = Math.Pi
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture))
' Displays 3.1416
숫자 형식 지정자(N)
숫자("N") 형식 지정자는 숫자를 "-d,ddd,ddd.ddd..."형식의 문자열로 변환합니다. 여기서 "-"는 필요한 경우 음수 기호를 나타내고, "d"는 숫자(0-9)를 나타내고, ""는 그룹 구분 기호를 나타내고, "."는 소수점 기호를 나타냅니다. 전체 자릿수 지정자는 소수점 뒤의 원하는 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 소수 자릿수가 현재 NumberFormatInfo.NumberDecimalDigits 속성에 의해 정의됩니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표에서는 결과 문자열의 서식을 제어하는 속성을 나열 NumberFormatInfo 합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
NegativeSign | 숫자가 음수임을 나타내는 문자열을 정의합니다. |
NumberNegativePattern | 음수 값의 형식을 정의하고 음수 기호가 괄호로 표시되는지 또는 NegativeSign 속성으로 표시되는지 여부를 지정합니다. |
NumberGroupSizes | 그룹 구분 기호 사이에 나타나는 정수 자릿수를 정의합니다. |
NumberGroupSeparator | 정수 그룹을 구분하는 문자열을 정의합니다. |
NumberDecimalSeparator | 정수 자릿수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
NumberDecimalDigits | 기본 소수 자릿수를 정의합니다. 정밀도 지정자를 사용하여 이 값을 재정의할 수 있습니다. |
다음 예제에서는 숫자 서식 지정자를 사용하여 다양한 부동 소수점 값의 서식을 지정합니다.
double dblValue = -12445.6789;
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture));
// Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1",
CultureInfo.CreateSpecificCulture("sv-SE")));
// Displays -12 445,7
int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0
Dim dblValue As Double = -12445.6789
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture))
' Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1", _
CultureInfo.CreateSpecificCulture("sv-SE")))
' Displays -12 445,7
Dim intValue As Integer = 123456789
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture))
' Displays 123,456,789.0
백분율 형식 지정자(P)
백분율("P") 형식 지정자는 숫자를 100으로 곱하고 백분율을 나타내는 문자열로 변환합니다. 정밀도 지정자는 원하는 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 현재 PercentDecimalDigits 속성에서 제공하는 기본 숫자 전체 자릿수가 사용됩니다.
다음 표에서는 반환된 NumberFormatInfo 문자열의 서식을 제어하는 속성을 나열합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
PercentPositivePattern | 양수 값에 대한 백분율 기호의 배치를 정의합니다. |
PercentNegativePattern | 음수 값에 대한 백분율 기호 및 음수 기호의 배치를 정의합니다. |
NegativeSign | 숫자가 음수임을 나타내는 문자열을 정의합니다. |
PercentSymbol | 백분율 기호를 정의합니다. |
PercentDecimalDigits | 백분율 값의 기본 소수 자릿수를 정의합니다. 전체 자릿수 지정자를 사용하여 이 값을 재정의할 수 있습니다. |
PercentDecimalSeparator | 정수 자릿수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
PercentGroupSeparator | 정수 그룹을 구분하는 문자열을 정의합니다. |
PercentGroupSizes | 그룹에 표시되는 정수 자릿수를 정의합니다. |
다음 예제에서는 백분율 서식 지정자를 사용하여 부동 소수점 값의 서식을 지정합니다.
double number = .2468013;
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
// Displays 24.68 %
Console.WriteLine(number.ToString("P",
CultureInfo.CreateSpecificCulture("hr-HR")));
// Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
// Displays 24.7 %
Dim number As Double = .2468013
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture))
' Displays 24.68 %
Console.WriteLine(number.ToString("P", _
CultureInfo.CreateSpecificCulture("hr-HR")))
' Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture))
' Displays 24.7 %
왕복 형식 지정자(R)
라운드트립("R") 형식 지정자는 문자열로 변환된 숫자 값이 동일한 숫자 값으로 다시 구문 분석되도록 합니다. 이 형식은 , Half, Single및 Double 형식에 BigInteger대해서만 지원됩니다.
.NET Framework 및 3.0 이전의 .NET Core 버전에서 "R" 형식 지정자가 경우에 따라 왕복 값을 성공적으로 반환 Double 하지 못합니다. 값과 Double 값 모두 Single 에 대해 "R" 형식 지정자는 상대적으로 성능이 저하됩니다. 대신 값에 "G17" 형식 지정자와 Double"G9" 형식 지정자를 사용하여 왕복 Single 값을 성공적으로 수행하는 것이 좋습니다.
이 지정자를 BigInteger 사용하여 값의 서식을 지정하면 해당 문자열 표현에는 값의 모든 유효 자릿수가 BigInteger 포함됩니다.
전체 자릿수 지정자를 포함할 수 있지만 무시됩니다. 이 지정자를 사용하는 경우 왕복이 정밀도보다 우선적으로 적용됩니다. 결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받습니다. 다음 표에서는 결과 문자열의 서식을 제어하는 속성을 나열 NumberFormatInfo 합니다.
NumberFormatInfo 속성 | 설명 |
---|---|
NegativeSign | 숫자가 음수임을 나타내는 문자열을 정의합니다. |
NumberDecimalSeparator | 정수 자릿수와 소수 자릿수를 구분하는 문자열을 정의합니다. |
PositiveSign | 지수가 양수임을 나타내는 문자열을 정의합니다. |
다음은 라운드트립 형식 지정자를 사용하여 BigInteger 값의 서식을 지정하는 예제입니다.
using System;
using System.Numerics;
public class Example
{
public static void Main()
{
var value = BigInteger.Pow(Int64.MaxValue, 2);
Console.WriteLine(value.ToString("R"));
}
}
// The example displays the following output:
// 85070591730234615847396907784232501249
Imports System.Numerics
Module Example
Public Sub Main()
Dim value = BigInteger.Pow(Int64.MaxValue, 2)
Console.WriteLine(value.ToString("R"))
End Sub
End Module
' The example displays the following output:
' 85070591730234615847396907784232501249
중요합니다
경우에 따라 Double "R" 표준 숫자 형식 문자열로 서식이 지정된 값은 64비트 시스템에서 또는 스위치를 사용하여 /platform:x64
/platform:anycpu
컴파일되고 실행되는 경우 왕복에 성공하지 않습니다. 자세한 내용은 다음 단락을 참조하세요.
"R" 표준 숫자 형식 문자열로 서식이 지정된 값이 Double 라운드트립되지 않는 문제를 해결하려면 스위치를 /platform:x64
사용하여 /platform:anycpu
컴파일하고 64비트 시스템에서 실행하는 경우 "G17" 표준 숫자 형식 문자열을 사용하여 값의 서식을 지정할 Double 수 있습니다. 다음 예제에서는 왕복에 성공하지 않는 값과 함께 Double "R" 형식 문자열을 사용하고 "G17" 형식 문자열을 사용하여 원래 값을 성공적으로 왕복합니다.
Console.WriteLine("Attempting to round-trip a Double with 'R':");
double initialValue = 0.6822871999174;
string valueString = initialValue.ToString("R",
CultureInfo.InvariantCulture);
double roundTripped = double.Parse(valueString,
CultureInfo.InvariantCulture);
Console.WriteLine($"{initialValue:R} = {roundTripped:R}: {initialValue.Equals(roundTripped)}\n");
Console.WriteLine("Attempting to round-trip a Double with 'G17':");
string valueString17 = initialValue.ToString("G17",
CultureInfo.InvariantCulture);
double roundTripped17 = double.Parse(valueString17,
CultureInfo.InvariantCulture);
Console.WriteLine($"{initialValue:R} = {roundTripped17:R}: {initialValue.Equals(roundTripped17)}\n");
// If compiled to an application that targets anycpu or x64 and run on an x64 system,
// the example displays the following output:
// Attempting to round-trip a Double with 'R':
// .NET Framework:
// 0.6822871999174 = 0.68228719991740006: False
// .NET:
// 0.6822871999174 = 0.6822871999174: True
//
// Attempting to round-trip a Double with 'G17':
// 0.6822871999174 = 0.6822871999174: True
Imports System.Globalization
Module Example
Public Sub Main()
Console.WriteLine("Attempting to round-trip a Double with 'R':")
Dim initialValue As Double = 0.6822871999174
Dim valueString As String = initialValue.ToString("R",
CultureInfo.InvariantCulture)
Dim roundTripped As Double = Double.Parse(valueString,
CultureInfo.InvariantCulture)
Console.WriteLine("{0:R} = {1:R}: {2}",
initialValue, roundTripped, initialValue.Equals(roundTripped))
Console.WriteLine()
Console.WriteLine("Attempting to round-trip a Double with 'G17':")
Dim valueString17 As String = initialValue.ToString("G17",
CultureInfo.InvariantCulture)
Dim roundTripped17 As Double = double.Parse(valueString17,
CultureInfo.InvariantCulture)
Console.WriteLine("{0:R} = {1:R}: {2}",
initialValue, roundTripped17, initialValue.Equals(roundTripped17))
End Sub
End Module
' If compiled to an application that targets anycpu or x64 and run on an x64 system,
' the example displays the following output:
' Attempting to round-trip a Double with 'R':
' .NET Framework:
' 0.6822871999174 = 0.68228719991740006: False
' .NET:
' 0.6822871999174 = 0.6822871999174: True
'
' Attempting to round-trip a Double with 'G17':
' 0.6822871999174 = 0.6822871999174: True
16진수 형식 지정자(X)
16진수("X") 형식 지정자는 숫자를 16진수 문자열로 변환합니다. 형식 지정자의 대/소문자는 9보다 큰 16진수에 대문자 또는 소문자를 사용할지 여부를 나타냅니다. 예를 들어 "X"를 사용하여 "ABCDEF"를 생성하고 "x"를 사용하여 "abcdef"를 생성합니다. 이 형식은 정수 형식에 대해서만 지원됩니다.
전체 자릿수 지정자는 결과 문자열에서 원하는 최소 자릿수를 나타냅니다. 필요한 경우 전체 자릿수 지정자가 지정한 자릿수를 생성하기 위해 숫자가 왼쪽에 0으로 채워집니다.
결과 문자열은 현재 NumberFormatInfo 개체의 서식 지정 정보의 영향을 받지 않습니다.
다음은 16진수 서식 Int32 지정자를 사용하여 값의 서식을 지정하는 예제입니다.
int value;
value = 0x2045e;
Console.WriteLine(value.ToString("x"));
// Displays 2045e
Console.WriteLine(value.ToString("X"));
// Displays 2045E
Console.WriteLine(value.ToString("X8"));
// Displays 0002045E
value = 123456789;
Console.WriteLine(value.ToString("X"));
// Displays 75BCD15
Console.WriteLine(value.ToString("X2"));
// Displays 75BCD15
Dim value As Integer
value = &h2045e
Console.WriteLine(value.ToString("x"))
' Displays 2045e
Console.WriteLine(value.ToString("X"))
' Displays 2045E
Console.WriteLine(value.ToString("X8"))
' Displays 0002045E
value = 123456789
Console.WriteLine(value.ToString("X"))
' Displays 75BCD15
Console.WriteLine(value.ToString("X2"))
' Displays 75BCD15
비고
이 섹션에는 표준 숫자 형식 문자열 사용에 대한 추가 정보가 포함되어 있습니다.
제어판 설정
제어판의 국가별 및 언어 옵션 항목의 설정은 서식 지정 작업으로 생성된 결과 문자열에 영향을 미칩니다. 이러한 설정은 서식을 제어하는 데 사용되는 값을 제공하는 현재 문화권과 연결된 개체를 초기화하는 NumberFormatInfo 데 사용됩니다. 다른 설정을 사용하는 컴퓨터는 다른 결과 문자열을 생성합니다.
또한 생성자를 사용하여 현재 시스템 문화권과 동일한 문화권을 나타내는 새 CultureInfo(String) 개체를 인스턴스화하는 경우 CultureInfo 제어판의 국가 및 언어 옵션 항목에 의해 설정된 모든 사용자 지정이 새 CultureInfo 개체에 적용됩니다. 생성자를 사용하여 CultureInfo(String, Boolean) 시스템의 사용자 지정을 CultureInfo 반영하지 않는 개체를 만들 수 있습니다.
NumberFormatInfo 속성
서식 지정은 현재 NumberFormatInfo 문화권에 의해 암시적으로 제공되거나 서식을 호출하는 메서드의 매개 변수에 의해 명시적으로 제공되는 현재 개체의 속성에 의해 IFormatProvider 영향을 받습니다. 해당 매개 변수에 NumberFormatInfo 대한 개체 또는 CultureInfo 개체를 지정합니다.
메모
숫자 값 서식 지정에 사용되는 패턴 또는 문자열을 사용자 지정하는 방법에 대한 자세한 내용은 클래스 항목을 참조 NumberFormatInfo 하세요.
정수 및 부동 소수점 숫자 형식
표준 숫자 형식 지정자에 대한 일부 설명은 정수 또는 부동 소수점 숫자 형식을 참조합니다. 정수 계열 숫자 형식은 Byte, SByte,Int16, Int32Int64, UInt16, UInt32UInt64및 BigInteger. 부동 소수점 숫자 형식은 Decimal, Half, Single및 Double.
부동 소수점 무한대 및 NaN
형식 문자열에 관계없이 , 또는 부동 소수점 형식의 Half값이 무한대, 음수 무한대이거나 숫자(NaN)가 아닌 경우 서식이 지정된 문자열은 현재 적용 가능한 Single 개체에 의해 지정된 각 DoublePositiveInfinitySymbolNegativeInfinitySymbol 또는 속성의 값입니다.NaNSymbolNumberFormatInfo
코드 예제
다음 예제에서는 en-US 문화권 및 모든 표준 숫자 형식 지정자를 사용하여 정수 및 부동 소수점 숫자 값의 서식을 지정합니다. 이 예제에서는 두 개의 특정 숫자 형식(Double및Int32)을 사용하지만 다른 숫자 기본 형식(Byte, ,, SByte,Int16Int32Int64UInt16UInt32UInt64BigIntegerDecimalHalf, 및Single)에 대해 유사한 결과를 생성합니다.
// Display string representations of numbers for en-us culture
CultureInfo ci = new CultureInfo("en-us");
// Output floating point values
double floating = 10761.937554;
Console.WriteLine($"C: {floating.ToString("C", ci)}"); // Displays "C: $10,761.94"
Console.WriteLine($"E: {floating.ToString("E03", ci)}"); // Displays "E: 1.076E+004"
Console.WriteLine($"F: {floating.ToString("F04", ci)}"); // Displays "F: 10761.9376"
Console.WriteLine($"G: {floating.ToString("G", ci)}"); // Displays "G: 10761.937554"
Console.WriteLine($"N: {floating.ToString("N03", ci)}"); // Displays "N: 10,761.938"
Console.WriteLine($"P: {(floating/10000).ToString("P02", ci)}"); // Displays "P: 107.62 %"
Console.WriteLine($"R: {floating.ToString("R", ci)}"); // Displays "R: 10761.937554"
Console.WriteLine();
// Output integral values
int integral = 8395;
Console.WriteLine($"C: {integral.ToString("C", ci)}"); // Displays "C: $8,395.00"
Console.WriteLine($"D: {integral.ToString("D6", ci)}"); // Displays "D: 008395"
Console.WriteLine($"E: {integral.ToString("E03", ci)}"); // Displays "E: 8.395E+003"
Console.WriteLine($"F: {integral.ToString("F01", ci)}"); // Displays "F: 8395.0"
Console.WriteLine($"G: {integral.ToString("G", ci)}"); // Displays "G: 8395"
Console.WriteLine($"N: {integral.ToString("N01", ci)}"); // Displays "N: 8,395.0"
Console.WriteLine($"P: {(integral/10000.0).ToString("P02", ci)}"); // Displays "P: 83.95 %"
Console.WriteLine($"X: 0x{integral.ToString("X", ci)}"); // Displays "X: 0x20CB"
Console.WriteLine();
Option Strict On
Imports System.Globalization
Imports System.Threading
Module NumericFormats
Public Sub Main()
' Display string representations of numbers for en-us culture
Dim ci As New CultureInfo("en-us")
' Output floating point values
Dim floating As Double = 10761.937554
Console.WriteLine("C: {0}", _
floating.ToString("C", ci)) ' Displays "C: $10,761.94"
Console.WriteLine("E: {0}", _
floating.ToString("E03", ci)) ' Displays "E: 1.076E+004"
Console.WriteLine("F: {0}", _
floating.ToString("F04", ci)) ' Displays "F: 10761.9376"
Console.WriteLine("G: {0}", _
floating.ToString("G", ci)) ' Displays "G: 10761.937554"
Console.WriteLine("N: {0}", _
floating.ToString("N03", ci)) ' Displays "N: 10,761.938"
Console.WriteLine("P: {0}", _
(floating / 10000).ToString("P02", ci)) ' Displays "P: 107.62 %"
Console.WriteLine("R: {0}", _
floating.ToString("R", ci)) ' Displays "R: 10761.937554"
Console.WriteLine()
' Output integral values
Dim integral As Integer = 8395
Console.WriteLine("C: {0}", _
integral.ToString("C", ci)) ' Displays "C: $8,395.00"
Console.WriteLine("D: {0}", _
integral.ToString("D6")) ' Displays "D: 008395"
Console.WriteLine("E: {0}", _
integral.ToString("E03", ci)) ' Displays "E: 8.395E+003"
Console.WriteLine("F: {0}", _
integral.ToString("F01", ci)) ' Displays "F: 8395.0"
Console.WriteLine("G: {0}", _
integral.ToString("G", ci)) ' Displays "G: 8395"
Console.WriteLine("N: {0}", _
integral.ToString("N01", ci)) ' Displays "N: 8,395.0"
Console.WriteLine("P: {0}", _
(integral / 10000).ToString("P02", ci)) ' Displays "P: 83.95 %"
Console.WriteLine("X: 0x{0}", _
integral.ToString("X", ci)) ' Displays "X: 0x20CB"
Console.WriteLine()
End Sub
End Module
참고하십시오
.NET