본문 바로가기

개발/C#

[C#] 숫자 앞에 0 채우기

출처 : http://msdn.microsoft.com/ko-kr/library/dd260048(v=vs.95).aspx

 

특정 길이까지 정수 앞에 0을 채우려면


1. 정수 값에서 표시할 자릿수를 결정합니다. 이 수에 선행 자릿수를 포함합니다.


2. 정수를 10진수 값으로 표시할지 또는 16진수 값으로 표시할지를 결정합니다.


a. 정수를 10진수 값으로 표시하려면 ToString(String) 메서드를 호출하고 문자열 "Dn"을 format 매개 변수의 값으로 전달합니다. 여기서 n은 최소 문자열 길이를 나타냅니다.
b. 정수를 16진수 값으로 표시하려면 ToString(String) 메서드를 호출하고 문자열 "Xn"을 format 매개 변수의 값으로 전달합니다. 여기서 n은 최소 문자열 길이를 나타냅니다.

 

 

형식이 지정된 숫자의 총 길이가 8자 이상이 되도록 선행 0 을 사용하는 예제
 
byte byteValue = 254;
short shortValue = 10342;
int intValue = 1023983;
long lngValue = 6985321;
ulong ulngValue = UInt64.MaxValue;

outputBlock.FontFamily = new System.Windows.Media.FontFamily("Courier New");

// Display integer values by caling the ToString method.
outputBlock.Text += String.Format("{0,22} {1,22}", byteValue.ToString("D8"), byteValue.ToString("X8")) + "\n";
outputBlock.Text += String.Format("{0,22} {1,22}", shortValue.ToString("D8"), shortValue.ToString("X8")) + "\n";
outputBlock.Text += String.Format("{0,22} {1,22}", intValue.ToString("D8"), intValue.ToString("X8")) + "\n";
outputBlock.Text += String.Format("{0,22} {1,22}", lngValue.ToString("D8"), lngValue.ToString("X8")) + "\n";
outputBlock.Text += String.Format("{0,22} {1,22}", ulngValue.ToString("D8"), ulngValue.ToString("X8")) + "\n";
outputBlock.Text += "\n";

// Display the same integer values by using composite formatting.
outputBlock.Text += String.Format("{0,22:D8} {0,22:X8}", byteValue) + "\n";
outputBlock.Text += String.Format("{0,22:D8} {0,22:X8}", shortValue) + "\n";
outputBlock.Text += String.Format("{0,22:D8} {0,22:X8}", intValue) + "\n";
outputBlock.Text += String.Format("{0,22:D8} {0,22:X8}", lngValue) + "\n";
outputBlock.Text += String.Format("{0,22:D8} {0,22:X8}", ulngValue) + "\n";
// The example displays the following output:
//                     00000254               000000FE
//                     00010342               00002866
//                     01023983               000F9FEF
//                     06985321               006A9669
//         18446744073709551615       FFFFFFFFFFFFFFFF
//       
//                     00000254               000000FE
//                     00010342               00002866
//                     01023983               000F9FEF
//                     06985321               006A9669
//         18446744073709551615       FFFFFFFFFFFFFFFF
//         18446744073709551615       FFFFFFFFFFFFFFFF
 

 

'개발 > C#' 카테고리의 다른 글

[C#] Random 함수에 seed 초기화  (0) 2013.05.09