공학속으로/C#

C# String.Format - 3자리 마다 콤마 등 서식문자열, 자릿수 표시하기

더월드 2023. 4. 11.

String.Format( ) 메소드의 매개변수 형식은 다음과 같다.

{첨자, 맞춤:서식 문자열}

 

 

1. 1000자리 마디 콤마찍기

 

String.Format 함수를 사용하여 3자리 마다 컴마를 찍는 예입니다

int num = 15000;
String str_num = String.Format("{0:#,###}", num);
System.Console.WriteLine(str_num);

실행결과

15,000

간단하게 이런 방법도 있다.

// 123,456,789 (자릿수 0은 소수점 이하 버림)
String str1 = String.Format("{0:N0}", 123456789);
System.Console.WriteLine(str1);

실행결과

123,456,789

 

2. 소수점 이하 3자리 표시하기

String.Format 함수를 사용하여 소수점 이하 3자리를 표시하는 방법입니다.

double num2 =15.12;
String str_num = String.Format("{0:0.000}", num2);
System.Console.WriteLine(str_num);

실행결과

15.120

 

다른 방법)

String str1 = String.Format("{0:F5}", 15.12);      // 15.12000
System.Console.WriteLine(str1);

실행결과

15.12000

 

3. 반올림 표시하기

String.Format("{0:###}", num2); 형태로 하면 소수점 이하 자리가 반올림 하게 된다.

double num2 =150.12;
String str_num = String.Format("{0:###}", num2);
System.Console.WriteLine(str_num);

num2 =150.52;
str_num = String.Format("{0:###}", num2);
System.Console.WriteLine(str_num);

실행결과

150
151

 

4. 지수 형태로 표시하기

double num2 =150.12;
String str_num = String.Format("{0:E}", num2);
System.Console.WriteLine(str_num);

실행결과

1.501200E+002

 

5. 전화번호 형태로 표시하기

double num2 =01012345678; 이렇게 변수를 주고

String.Format 함수를 사용하여 ("{0:###-####-####}", num2); 형태로 주면 숫자 사이에 "-"가 들어가게 되고,
아래 코드 처럼 주의 할것은 ### 으로 시작할 경우 전화번호 앞자리가 0일때, 무시하게 되므로
 
String.Format("{0:0##-####-####}", num2); 형태로 사용해야 한다.
double num2 =01012345678;
String str_num = String.Format("{0:###-####-####}", num2);
System.Console.WriteLine(str_num);

str_num = String.Format("{0:0##-####-####}", num2);
System.Console.WriteLine(str_num);

실행결과

10-1234-5678
010-1234-5678

 

6. 이외 서식 문자열

이외에도 D(십진수), X(16진수), N(1000자리 마다 콤마찍기) 등이 있습니다.

String str1 = String.Format("{0:D}", 100);     // 200를 10진수로 출력  ->100 출력
System.Console.WriteLine(str1);

String str2 = String.Format("{0:D}", 0x64);    // 0x64를 10진수로 출력 -> 100 출력
System.Console.WriteLine(str2);

String str3 = String.Format("{0:X}", 100);     // 100를 16진수로 출력  -> 0x64 출력
System.Console.WriteLine(str3);

String str4 = String.Format("{0:X}", 0x64);    // 0x64를 16진수로 출력 -> 0x64 출력
System.Console.WriteLine(str4);

String str5 = String.Format("{0:N}", 123456789);  // -> 123,456,789.00 출력
System.Console.WriteLine(str5);

실행결과

100
100
64
64
123,456,789.00

 

7. 자릿수 지정하기

서식 문자열 뒤에 숫자를 붙이면 자릿수도 지정이 가능합니다.

String str1 = String.Format("{0:D6}", 123);          // 000123
System.Console.WriteLine(str1);

String str2 = String.Format("{0:X8}", 0xC21234);     // 0x00C21234
System.Console.WriteLine(str2);

String str3 = String.Format("{0:N0}", 123456789);    // 123,456,789 (자릿수 0은 소수점 이하 버림)
System.Console.WriteLine(str3);

String str4 = String.Format("{0:F4}", 123.456);      // 123.4560
System.Console.WriteLine(str4);

 

실행결과

000123
00C21234
123,456,789
123.4560

 

댓글

💲 추천 글