본문 바로가기
코딩 책공부/초보자를 위한 C# 200제 2판

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

by FourthWay 2024. 3. 29.
728x90
반응형

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

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

정밀도는 없어도 되는 선택사항이며 지정하지 않으면 디폴트 정밀도가 적용된다.

 

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

형식지정자 이름 정밀도 지정자 사용예
"C" 또는 "c" 통화 십진수자릿수 123.456("C") -> \123.46
123.456("C3") -> \123.456
"D" 또는 "d" 십진수(정수) 최소 자릿수 1234("D") -> 1234
-1234("D")-> -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.4546("G4") -> 123.5
"N" 또는 "n" 천단위 구분 기호 숫자 소수 자릿수 1234.567("N") -> 1,234.57
-1234.56("N3")-> -1,234.560
"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

 

정수 -12345678과 실수 -1234.5678을 9가지 형식지정자를 사용하여 출력하는 프로그램

 

using System;

namespace _044_A010_ConsoleFormat
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.Clear();

            Console.WriteLine("Standard Numeric Format Specifiers");
            Console.WriteLine(
                "(C) Currentcy : *********** {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",
                -12348978, -1234.5678f);
        }
    }
}

 

static void Main(string[] args)
{
    Console.Clear();

- 콘솔창의 모든 글자를 지운다.

    Console.WriteLine("Standard Numeric Format Specifiers");

- "Standard Numeric Format Specifiers" 라고 출력한다.
    Console.WriteLine(
        "(C) Currentcy : *********** {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",
        -12348978, -1234.5678f);

-콘솔에 9가지 형식지정자를 사용하여 -12345678과 -234.5678이라는 숫자를 출력한다.

{0}은 콤마 뒤의 첫 번째 파라미터인 -12345678을,

{1}은 두번째 파라미터인 -1234.5678을 의미한다.

예를 들어 (C) Currentcy : *********** {0:C}\n" 의 {0:C}라는 포맷은 첫 번째 파라미터 -12345678을 통화 형식인

"C"형식지정자로 출력한다.
}

 

형식지정자와 함께 저어밀도 지정자를 사용할 수 있다. 예를 들어 다음의 코드는 value 값을 통화 형식으로 소수점 아래 두자리로 출력한다.

더보기

decimal value = 123456.789m;

Console.WriteLine("잔액은 {0:C2}원 입니다.", value);

 

다음의 20:C2 형식지정자는 전체 20자리를 차지하고 통화 형식으로 소수저머 아래 두 자리로 출력한다.

20자리 중 앞쪽의 사용되지 않은 부분은 빈칸으로 나타난다.

더보기

Console.WriteLine("잔액은 {0,20:C2}", value);

결과

------------------------------------------------------

잔액은 \123,456.79원 입니다.

잔액은             \123,456.79원 입니다.

------------------------------------------------------

728x90
반응형