Debug & Think

[C# 포맷 정리] 숫자, 날짜, 문자열 포맷 한눈에 보기 본문

카테고리 없음

[C# 포맷 정리] 숫자, 날짜, 문자열 포맷 한눈에 보기

J.Note 2025. 7. 8. 10:19

설명: C#의 숫자 포맷(D, F, N), 날짜 포맷(yyyy, MM, dd), 문자열(string), 열거형(enum) 까지 실무에서 자주 쓰이는 포맷 형식을 정리했습니다.

 

📌 개요

C#에서는 ToString("포맷")을 활용하여 숫자, 날짜, 문자열 출력 형식을 쉽게 제어할 수 있습니다.

이 글에서는 자주 쓰는 포맷 코드를 예제와 함께 정리하였습니다.

 

 

 

✅ 숫자 포맷 형식

포맷  설명  예시 (123.456)
D 또는 D5 정수 자릿수 채움 00123
F2 소수점 고정 123.46
N2 천 단위 구분 1,234.56
E2 지수 표기법 1.23E+002
P2 백분율 12345% (1.2345)
C2 통화 ₩123.46
X2 16진수 7B (123)
int n = 7;
double d = 12.3456;

Console.WriteLine(n.ToString("D3")); // 007
Console.WriteLine(d.ToString("F2")); // 12.35

 


✅ 날짜/시간 포맷 형식

포맷  설명   결과(2025-07-08 14:05:03 기준)
yyyy 4자리 연도 2025
MM 07
dd 08
HH 24시간제 14
mm 05
ss 03
tt 오전/오후 오후
DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy-MM-dd HH:mm:ss")); // 2025-07-08 14:05:03

 

 


✅ 문자열 보간 및 자릿수 채움

int number = 7;
Console.WriteLine($"{number:D3}");         // 007

string s = "9";
Console.WriteLine(s.PadLeft(4, '0'));      // 0009
Console.WriteLine(s.PadRight(6, '_'));     // 9_____

 

 


✅ 열거형(Enum) 출력과 파싱

enum Status { Ready, Working, Done }

Status state = Status.Working;
Console.WriteLine(state.ToString());   // Working
Console.WriteLine((int)state);         // 1

Status parsed = Enum.Parse<Status>("Done");


// 안전하게 
if (Enum.TryParse("Working", out Status result))
{
    Console.WriteLine(result); // 출력: Working
}

 

 

✅ Enum.Parse() vs Enum.TryParse()

비교 항목 Enum.Parse Enum.TryParse
반환값 Enum 값 bool
예외 발생 O (문자열이 잘못되면 예외 발생
: System.ArgumentException)
X
사용 방식 강제 변환 안전한 변환
대소문자 구분 기본적으로 O ignoreCase 옵션으로 조절 가능

 


📝 마무리

  • 출력 형식을 직접 제어하면 UI, 로그, 디버깅이 훨씬 편해집니다.
  • ToString("D2"), $"{변수:형식}" 문법은 꼭 익혀두시길 추천드립니다.