본문 바로가기
개발/C#

[C#]표준 숫자 서식 문자열

by MNMNMNMN 2020. 7. 24.
728x90

 

형식 지정자 이름 설명
"C" 또는 "c" 통화 결과: 통화 값.

지원 대상: 모든 숫자 형식.

전체 자릿수 지정자: 십진수의 수.

기본 전체 자릿수 지정자: NumberFormatInfo.CurrencyDecimalDigits에 의해 정의됩니다.

추가 정보: 통화("C") 서식 지정자.
123.456 ("C", en-US) -> $123.46

123.456 ("C", fr-FR) -> 123,46 €

123.456 ("C", 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 결과: 정수(선택적 음수 기호 포함).

지원 대상: 정수 형식만.

전체 자릿수 지정자: 최소 자릿수.

기본 전체 자릿수 지정자: 필요한 최소 자릿수.

추가 정보: 10진수("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에 의해 정의됩니다.

추가 정보: 고정 소수점("F") 서식 지정자.
1234.567 ("F", 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" 번호 결과: 선택적 음수 기호가 있는 정수 부분과 소수 부분, 그룹 구분 기호 및 소수 구분 기호.

지원 대상: 모든 숫자 형식.

전체 자릿수 지정자: 원하는 소수 자릿수.

기본 전체 자릿수 지정자: 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,00 %

-0.39678 ("P1", en-US) -> -39.7 %

-0.39678 ("P1", fr-FR) -> -39,7 %
"R" 또는 "r" 라운드트립 결과: 해당 숫자로 라운드트립할 수 있는 문자열.

지원되는 형식: SingleDouble 및 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

-1 ("x") -> ff

255 ("x4") -> 00ff

-1 ("X4") -> 00FF
기타 모든 단일 문자 알 수 없는 지정자 결과: 런타임에 FormatException을 throw합니다.  

 

반응형

 

통화("C") 서식 지정자

통화("C") 서식 지정자는 숫자를 통화 금액을 나타내는 숫자로 변환합니다. 전체 자릿수 지정자는 결과 문자열에 필요한 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 NumberFormatInfo.CurrencyDecimalDigits 속성에 의해 기본 전체 자릿수가 정의됩니다.

서식을 지정할 값의 소수 자릿수가 지정된 소수 자릿수 또는 기본 소수 자릿수보다 크면 결과 문자열에서 소수 값이 반올림됩니다. 지정한 소수 자릿수의 오른쪽에 있는 값이 5 이상인 경우 결과 문자열에서 마지막 자릿수가 양수인 경우 올림, 음수인 경우 내림됩니다(Round Away From Zero 방식).

 

10진수("D") 서식 지정자

10진수("D") 서식 지정자는 숫자를 10진수(0-9) 문자열로 변환하며, 숫자가 음수이면 앞에 빼기 기호를 붙입니다. 이 서식은 정수 계열 형식에만 사용할 수 있습니다.

전체 자릿수 지정자는 결과 문자열에서 요구하는 최소 자릿수를 나타냅니다. 필요하면 수의 왼쪽을 0으로 채워서 전체 자릿수 지정자에서 지정한 자릿수를 만듭니다. 전체 자릿수 지정자가 지정되지 않은 경우 기본값은 앞에 0이 없이 정수를 나타내는 데 필요한 최소값입니다.

 

지수("E") 서식 지정자

지수("E") 서식 지정자는 숫자를 "-d.ddd…E+ddd" 또는 "-d.ddd…e+ddd" 형태의 문자열로 변환합니다. 여기서 각 "d"는 숫자(0-9)를 나타냅니다. 숫자가 음수이면 문자열 앞에 빼기 기호가 붙습니다. 소수점 앞에는 항상 숫자가 하나만 있어야 합니다.

전체 자릿수 지정자는 소수점 뒤에 필요한 자릿수를 나타냅니다. 전체 자릿수 지정자가 생략되면 소수점 뒤에 기본 6자리가 사용됩니다.

서식 지정자의 대/소문자에 따라 지수에 "E" 또는 "e" 접두사를 붙일 것인지가 결정됩니다. 지수는 항상 더하기 또는 빼기 기호가 포함된 최소 3자리로 구성됩니다. 필요하면 지수를 0으로 채워서 이 조건을 만족시킵니다.

 

고정 소수점("F") 서식 지정자

고정 소수점("F") 서식 지정자는 숫자를 "-ddd.ddd…" 형태의 문자열로 변환합니다. 여기서 각 "d"는 숫자(0-9)를 나타냅니다. 숫자가 음수이면 문자열 앞에 빼기 기호가 붙습니다.

전체 자릿수 지정자는 필요한 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 현재 NumberFormatInfo.NumberDecimalDigits 속성에서 숫자 전체 자릿수를 제공합니다.

 

일반("G") 서식 지정자

일반("G") 서식 지정자는 숫자의 형식 및 전체 자릿수 지정자의 유무에 따라 숫자를 고정 소수점 또는 과학적 표기법 중에서 더 간단한 서식으로 변환합니다. 전체 자릿수 지정자는 결과 문자열에 표시할 수 있는 최대 유효 자릿수를 정의합니다. 전체 자릿수 지정자가 생략되거나 0이면 다음 표에 나와 있는 대로 숫자의 형식에 따라 기본 자릿수가 결정됩니다.

일반("G") 서식 지정자숫자 형식기본 전체 자릿수

Byte 또는 SByte 3개의 자릿수
Int16 또는 UInt16 5개의 자릿수
Int32 또는 UInt32 10개의 자릿수
Int64 19개의 자릿수
UInt64 20개의 자릿수
BigInteger 무제한("R"과 동일)
Single 7개의 자릿수
Double 15개의 자릿수
Decimal 29개의 자릿수

숫자를 과학적 표기법으로 나타낸 값이 -5보다 크고 전체 자릿수 지정자보다 작으면 고정 소수점 표기법이 사용되고 그러지 않으면 과학적 표기법이 사용됩니다. 필요한 경우 결과에 소수점이 포함되고 소수점 뒤에 오는 0은 생략됩니다. 전체 자릿수 지정자가 있고 결과의 유효 숫자가 지정된 자릿수를 초과하면 뒤에 오는 초과 자릿수는 반올림을 통해 제거됩니다.

그러나 숫자가 Decimal일 때 전체 자릿수 지정자가 생략되면 항상 고정 소수점 표기법이 사용되며 뒤에 오는 0은 그대로 표시됩니다.

과학적 표기법이 사용되면 서식 지정자가 'G'인 경우 결과의 지수 값 앞에 "E"가 붙고 서식 지정자가 "g"인 경우 앞에 "e"가 붙습니다. 지수는 최소한 2자리로 구성됩니다. 이는 지수 서식 지정자에 의해 생성되며 계수가 최소한 3자리로 구성되는 과학적 표기법의 서식과 다른 점입니다.

Double 값과 함께 사용될 때 “G17” 형식 지정자는 원래 Double 값이 성공적으로 라운드트립되도록 합니다. 이는 Double이 최대 17자의 전체 유효 자릿수를 제공하는 IEEE 754-2008 규격의 배정밀도(binary64) 부동 소수점 숫자이기 때문입니다. 일부 경우에 “R”이 배정밀도 부동 소수점 값을 성공적으로 라운드트립하지 못하기 때문에 “R” 형식 지정자 대신 사용하는 것이 좋습니다. 

Single 값과 함께 사용될 때 “G9” 형식 지정자는 원래 Single 값이 성공적으로 라운드트립되도록 합니다. 이는 Single이 최대 9자의 전체 유효 자릿수를 제공하는 IEEE 754-2008 규격의 단정밀도(binary32) 부동 소수점 숫자이기 때문입니다. 성능을 위해 "R" 형식 지정자 대신 사용하는 것이 좋습니다.

 

숫자("N") 서식 지정자

숫자("N") 서식 지정자는 숫자를 "-d,ddd,ddd.ddd…" 형태의 문자열로 변환합니다. 여기서 "-"는 필요한 경우 음수 기호를 나타내고, "d"는 숫자(0-9)를 나타내고, ","는 그룹 구분 기호를 나타내고, "."은 소수점 기호를 나타냅니다. 전체 자릿수 지정자는 소수점 뒤에 필요한 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 현재 NumberFormatInfo.NumberDecimalDigits 속성에 의해 소수 자릿수가 정의됩니다.

 

백분율("P") 서식 지정자

백분율("P") 서식 지정자는 숫자를 100으로 곱한 다음 백분율을 나타내는 문자열로 변환합니다. 전체 자릿수 지정자는 필요한 소수 자릿수를 나타냅니다. 전체 자릿수 지정자를 생략하면 현재 PercentDecimalDigits 속성에서 제공하는 기본 숫자 전체 자릿수가 사용됩니다.

 

라운드트립("R") 서식 지정자

라운드트립(“R”) 형식 지정자는 문자열로 변환된 숫자 값이 같은 숫자 값으로 다시 구문 분석되도록 시도합니다. 이 서식은 SingleDouble 및 BigInteger 형식에만 사용할 수 있습니다.

Double 값의 경우 "R" 형식 지정자가 원래 값을 성공적으로 라운드트립하지 못하는 경우가 있습니다. 또한 Double 및 Single 값 모두에 상대적으로 낮은 성능을 제공합니다. 대신 Double 값에는 “G17” 형식 지정자, Single 값에는 “G9” 형식 지정자를 사용하여 원래 값을 라운드트립하는 것이 좋습니다.

이 지정자를 사용하여 BigInteger 값의 서식을 지정하면 해당 문자열 표현에 BigInteger 값의 모든 유효 자릿수가 포함됩니다.

전체 자릿수 지정자는 포함되어 있더라도 무시됩니다. 이 지정자를 사용할 때는 라운드트립이 전체 자릿수보다 우선합니다.

 

16진수("X") 서식 지정자

16진수("X") 서식 지정자는 숫자를 16진수 문자열로 변환합니다. 서식 지정자의 대/소문자에 따라 9보다 큰 16진수에 대문자를 사용할지 아니면 소문자를 사용할지 여부가 결정됩니다. 예를 들어, "X"를 사용하면 "ABCDEF"가 만들어지고 "x"를 사용하면 "abcdef"가 만들어집니다. 이 서식은 정수 계열 형식에만 사용할 수 있습니다.

전체 자릿수 지정자는 결과 문자열에서 요구하는 최소 자릿수를 나타냅니다.필요하면 수의 왼쪽을 0으로 채워서 전체 자릿수 지정자에서 지정한 자릿수를 만듭니다.

 

 

[출처]https://docs.microsoft.com/ko-kr/dotnet/standard/base-types/standard-numeric-format-strings

728x90
반응형

'개발 > C#' 카테고리의 다른 글

[C#]가우스의 등차수열합 공식  (0) 2020.08.21
[C#]파일 존재 유무 확인하기  (0) 2020.08.07
[C#]파일 이름 변경하기  (0) 2020.08.07
[C#]MD5 알고리즘  (0) 2020.06.26
[c#]Math.Round  (0) 2020.06.26

댓글