반응형
표준 출력 형식의 문법
{n,w:tp}
예시 : {0,10:N2}
키워드 | 명칭 | |
n | 인자 | Argument |
w | 출력 범위 | Width |
t | 데이타 타입 | Data Type |
p | 정확도 | Precision |
decimal val = 1234.5678M;
string s = string.Format("{0,10:N2}", val);
// 출력: " 1,234.57"
Console.WriteLine(s);
{0,10:N2} : 첫 번째 인자인 val을 받아서 전체 넓이 10으로 앞의 공백 포함 10자리 표현하고 N(Numberic) 형식으로 표현된다. 소수점 이하는 2자리까지 표시한다.
표준 숫자 서식 문자열 (Standard numeric format strings)
static void Main(string[] args)
{
// N: Number 타입
var n = string.Format("{0:N2} {1:N4}", 1234.567, 342.35453);
var n1 = $"{1234.567:N2} {342.35453:N4}"; // string interpolation
Console.WriteLine(n); // 1234.56 342.3545
Console.WriteLine(n1); // 1234.56 342.3545
// D: Decimal 타입
var d = string.Format("{0,5:D9}", 12345);
var d1 = $"{12345:D9}";
Console.WriteLine(d); // 000012345
Console.WriteLine(d1); // 000012345
// C: Currency 타입
var c = string.Format("{0:C}", 12345);
var c1 = string.Format("{0:C0}", 12345);
Console.WriteLine(c); // $12,345
Console.WriteLine(c1); // $12,345
// X: 16진수
var x = string.Format("{0:X}", 1000);
Console.WriteLine("0x" + x); // 0x3E8
// F: Fixed Point
var f = string.Format("{0:F3}", 12345.6);
Console.WriteLine(f); // 12345.600g
// E: Scientific
var e = string.Format("{0:E}", 12345.6); // 1.23456E+004
Console.WriteLine(e);
}
{n:tp}
예시 : {0:N2}
해당 형태로도 표현이 가능하다.
추가적으로 C# 6.0부터 추가된 문자열 보간(String Interpolation)과 함께 사용이 가능하다.
Console.WriteLine($"{Math.Sqrt(9):N0}");
날짜 서식 지정
static void Main(string[] args)
{
var time1 = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.UtcNow);
var time2 = string.Format($"{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}");
Console.WriteLine(time1);
Console.WriteLine(time2);
}
같은 맥락으로 날짜 시간 서식지정이 가능하다.
함께 읽으면 좋은 글
'프로그래밍 > C#' 카테고리의 다른 글
C# 대리자(Delegate)에 대해서 (0) | 2023.03.13 |
---|---|
C# 상속 관련 키워드 정리 (0) | 2023.02.27 |
C# 커맨드 라인(CommandLine) 파싱 라이브러리 소개 (0) | 2023.02.17 |
C# 이스케이프 시퀀스(Escape sequence) (0) | 2023.02.14 |
C# 부울 논리 연산자 (0) | 2023.02.01 |
댓글