본문 바로가기

컴퓨터/언어,프로그래밍

[C#] String.Format 사용방법

출처:
http://www.devpia.com/maeul/contents/de ··· page%3D1 
http://www.rkttu.com/ 
http://dotnettipoftheday.org/tips/verba ··· ral.aspx 


1. 자유자재로 사용하는 치환자

1.String.Format("{0} {1} {1} {4} {3} {2}", 'a', 'b', 'c', 'd', 'e');
2.// => a b b e d c


2. C# 만의 편리한 기능: Verbatim String과 함께 사용하는 강력한 Formatting API

01.String.Format(@"<html>
02.<head><title>Hello World!</title></head>
03.<body>
04.<p>{0}</p>
05.</body>
06.</html>", DateTime.Now);
07.  
08.String.Format(@"int main(int argc, char **argv) {
09.return 0;
10.}");   // 오류
11.  
12.String.Format(@"int main(int argc, char **argv) {{
13.return 0;
14.}}");  // 정상


2-1. Verbatim String 예제

1.string path = @"C:\Program Files\My Program";        //verbatim literal
2.string path2 = "C:\\Program Files\\My Program";      //regular literal
3.string msg = @"Hello,
4.        This is a multi-line string";                //verbatim literal
5.string msg2 = "Hello,\nThis is multi-line string";   //regular literal


3. 날짜 및 시간 표현을 자유자재로 활용하기

1.String.Format(@"{0:yyyy-MM-dd}", DateTime.Now); // 2009-01-30
2.String.Format(@"{0:tt hh:mm:ss}", DateTime.Now); // 오전 01:47:33
3.String.Format(@"{0:yyyy-MM-dd tt hh:mm:ss}", DateTime.Now); // 2009-01-30 오전 01:48:11
4.  
5.String.Format(CultureInfo.GetCultureInfo("en-US"), @"{0:tt hh:mm:ss}", DateTime.Now); // AM 04:30:44
6.String.Format(CultureInfo.GetCultureInfo("ko-KR"), @"{0:tt hh:mm:ss}", DateTime.Now); // 오후 03:03:02
7.String.Format(CultureInfo.GetCultureInfo("ja-JP"), @"{0:tt hh:mm:ss}", DateTime.Now); // 午後 10:08:03


4. 통화 금액 표현하기

01.String.Format(CultureInfo.GetCultureInfo("es-ES"), "{0:C}", 300); // 300,00 €
02.String.Format(CultureInfo.GetCultureInfo("ko-KR"), "{0:C}", 300); // \300
03.  
04.// 반올림 예시
05.String.Format("{0:#####}", 1234.567);
06.String.Format("{0:00000}", 1234.567);
07.String.Format("{0:0}", 1234.567);
08.String.Format("{0:#,##0}", 1234.567);
09.String.Format("{0:0,0}", 1234.567);
10.  
11.// 소수점 사용 예시
12.String.Format("{0:0.####}", 1234.567);
13.String.Format("{0:0.0000}", 1234.567);
14.  
15.// 공학용 표기
16.String.Format("{0:0.0000000E+00}", 1234.567);
17.String.Format("{0:0.0000000E-00}", 1234.567);
18.String.Format("{0:#.#######E-0#}", 1234.567);
19.  
20.// 음수/양수/ZERO 에 따른 표기
21.String.Format("{0:0.0}", -1234.567);
22.String.Format("{0:0.0 CR;0.0 DB}", -1234.567);
23.String.Format("{0:0.0 CR;0.0 DB}", 1234.567);
24.String.Format("{0:0.0 CR;0.0 DB;Zero}", 0.00);


5. Bonus: 자연스러운 16진수 표기 방법 (String.Format을 사용하지 않습니다.)

1."0x" + (16).ToString("X8"); // 8자리 16진수 표기, 대문자
2."0x" + (33).ToString("x4"); // 4자리 16진수 표기, 소문자


제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...