Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 '#' 사용자 지정 서식 지정자 활용법

C#에서 '#' 사용자 지정 서식 지정자는 숫자 자리 표시자(digit placeholder) 역할을 하는 특수 기호입니다.

서식 문자열에 '#' 기호가 있는 위치에 서식을 지정하려는 값에 숫자가 존재하면, 해당 숫자가 그대로 결과 문자열로 복사됩니다. 반대로 해당 위치에 유효한 숫자가 없다면 아무것도 출력되지 않습니다.

기본 사용 예시

먼저 double 타입 변수를 하나 선언해 보겠습니다.

double d;
d = 4.2;

이제 '#' 사용자 지정 지정자를 적용해 보겠습니다.

d.ToString("#.##", CultureInfo.InvariantCulture)

위 코드는 소수점 이하 두 자리까지만 표시하며, 값이 존재하는 자리만 출력합니다.

다양한 활용 예제

아래 예제에서는 ToString() 메서드와 String.Format() 메서드 두 가지 방식으로 '#' 지정자를 사용하는 방법을 확인할 수 있습니다.

using System;
using System.Globalization;
class Demo {
    static void Main() {
        double d;
        d = 4.2;
        Console.WriteLine(d.ToString("#.##", CultureInfo.InvariantCulture));
        Console.WriteLine(String.Format(CultureInfo.InvariantCulture,"{0:#.##}", d));
        d = 345;
        Console.WriteLine(d.ToString("#####"));
        Console.WriteLine(String.Format("{0:#####}", d));
        d = 74567989;
        Console.WriteLine(d.ToString("[##-##-##-##]"));
        Console.WriteLine(String.Format("{0:[##-##-##-##]}", d));
    }
}

실행 결과

4.2
4.2
345
345
[74-56-79-89]
[74-56-79-89]

핵심 정리

  • #.##: 소수점 이하 자릿수를 제어하며, 불필요한 0은 생략됩니다.
  • #####: 정수 부분의 최대 자릿수를 지정합니다. 자릿수가 넘치더라도 값은 잘리지 않고 전체가 출력됩니다.
  • [##-##-##-##]: 리터럴 문자(대괄호, 하이픈)와 함께 조합하여 전화번호나 코드 형태처럼 원하는 패턴으로 숫자를 배치할 수 있습니다.

이처럼 '#' 지정자를 활용하면 숫자 데이터를 다양한 형식으로 유연하게 표현할 수 있습니다.