C#/문법 정리

C# - 형식지정자를 사용한 Console.WriteLine 메소드

Khadra 2024. 6. 15. 08:53

형식지정자란?

출력할 때 형식지정자를 사용할 수 있다.
Axx 의 형태로 표현하며, A 는 형식, xx 는 정밀도이다.

정밀도란?

0~99까지의 값을 가지며, 결과값의 자릿수에 영향을 준다.

  • 정밀도는 없어도 되는 선택사항이며, 지정하지 않을 시 디폴트 정밀도로 적용된다.

가장 많이 사용되는 표준 숫자 형식지정자표

형식지정자 이름 정밀도 지정자 사용 예
"C" 또는 'c' 통화 십진자릿수 123.456 ("C") -> ₩123.46
123.456 ("C3") -> ₩123.456
"D" 또는 'd' 십진수(정수) 최소 자릿수 1234 ("D") -> 1234
-1234 ("D6") -> -001234
"E" 또는 'e' 지수(과학) 소수 자릿수 1052.0329112756 ("E") -> 1.052033E+003
-1052.0329112756 ("e2") -> -1.05e+003
"F" 또는 'f' 고정자릿수 소수 자릿수 1234.567 ("F") -> 1234.57
-1234.56 ("F4") -> -1234.5600
"G" 또는 'g' 일반 유효 자릿수 -123.456 ("G") -> -123.456
123.456 ("G4") -> 123.5
"N" 또는 'n' 천단위 구분 기호 숫자 소수 자릿수 1234.567 ("N") -> 1,234.57
-1234.56 ("N3") -> -39.7 %
"P" 또는 'p' 퍼센트 소수 자릿수 1 ("P") -> 100.00 %
-0.39678 ("P1") -> -39.7 %
"R" 또는 'r' 라운드트립 무시됨 1234567.12345 ("R") -> 1234567.12345
"X" 또는 'x' 16진수 자릿수 255 ("X") -> FF
255 ("x4") -> 00ff

예제

using System;
using static System.Console; // Console단어를 생략(코드길이줄어둠)
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            // 콘솔창의 모든 글자를 지운다.
            Clear();

             // "Standard Numeric Format Specifiers"라고 출력한다. 
            WriteLine("Standard Numeric Format Specifiers");

             // 콘솔의 9가지 형식지정자를 사용한다.
             // -12345678과 -1234.5678이라는 숫자를 출력한다.
             // {0}은 콤마 뒤의 첫 번째 파라미터인 -12345678을 
             // {1}은 두 번째 파라미터인 -1234.5678을 의미한다.
             // 예를 들어 13번째 줄의 {0:C}라는 포맷은 첫 번째 파라미터
             // -12345678을 통화 형식인 "C" 형식지정자로 출력한다.
            WriteLine(                                   
                "(C) Curremcy: .........{0:C}\n" +       
                "(D) Decimal: ..........{0:D}\n" +       
                "(E) Scientific: .......{1:E}\n" +       
                "(F) Fixed point: ......{1:F}\n" +       
                "(G) General: ..........{0:G}\n" +       
                "(N) Number: ...........{0:N}\n" +
                "(P) Percent: ..........{1:P}\n" +
                "(R) Round-trip: .......{1:R}\n" +
                "(X) Hexadecimal: ......{0:X}\n",
                -12345678, -1234.5678f);
        }
    }
} 

결과

Standard Numeric Format Specifiers
(C) Curremcy: .........-₩12,345,678      
(D) Decimal: ..........-12345678     
(E) Scientific: .......-1.234568E+003
(F) Fixed point: ......-1234.57
(G) General: ..........-12345678
(N) Number: ...........-12,345,678.00
(P) Percent: ..........-123,456.77%
(R) Round-trip: .......-1234.5677
(X) Hexadecimal: ......FF439EB2