C #에서 패딩 0을 사용하여 int를 문자열로 변환 하시겠습니까?


답변:


708

i.ToString().PadLeft(4, '0')-네, 음수에는 작동하지 않습니다
i.ToString("0000");.-명시 적 형식
i.ToString("D4");-짧은 형식 형식 지정자
$"{i:0000}";-문자열 보간 (C # 6.0+)


28
. () PadLeft (4, '0') 예를 들어, 음수 일을하지 않습니다 i.ToString하는 (-5) .PadLeft (4, '0')이 될 것 "00-5"
안토니오 바 쿨라

5
고정 길이의 문자열을 표시하는 방법 ??
Mark Macneil Bikeio

3
@Rahul 이것을 읽으십시오 : msdn.microsoft.com/en-us/library/…
Kevdog777

2
이 방법은 나를 위해 일했다 String.Format ( "{0 : D4}", number);
Arthur Melo

14
문자열 형식 바로 가기를 사용하면 예를 들어 $ "{i : D4}";
JamesSugrue

275
i.ToString("D4");

형식 지정자에 대해서는 MSDN 을 참조하십시오 .


4
이 방법은 나를 위해 일했다 String.Format ( "{0 : D4}", number);
Arthur Melo

118

다음은 좋은 예입니다.

int number = 1;
//D4 = pad with 0000
string outputValue = String.Format("{0:D4}", number);
Console.WriteLine(outputValue);//Prints 0001
//OR
outputValue = number.ToString().PadLeft(4, '0');
Console.WriteLine(outputValue);//Prints 0001 as well

66

당신이 사용할 수있는:

int x = 1;
x.ToString("0000");

26
그리고 같은 형식 문자열을 사용하는 두 번째 방법 :string.Format("{0:0000}", x)
Yodan Tauber

57

C # 6.0 스타일 문자열 보간

int i = 1;
var str1 = $"{i:D4}";
var str2 = $"{i:0000}";

이것은 매우 멋져 보인다. 피하는 좋은 방법$"some text {x.ToStrig("D4")} after text"
Bruno Miquelin




2

.NET에는 String클래스 에서 쉽게 할 수있는 기능이 있습니다. 그냥 사용하십시오 :

.ToString().PadLeft(4, '0')  // that will fill your number with 0 on the left, up to 4 length

int i = 1; 
i.toString().PadLeft(4,'0')  // will return "0001"  

숫자가 변경되는 고정 길이의 문자열이있는 경우 작동합니다. 감사합니다! :)
Fen Ignacio

0
int p = 3; // fixed length padding
int n = 55; // number to test

string t = n.ToString("D" + p); // magic     

Console.WriteLine("Hello, world! >> {0}", t);

// outputs: 
// Hello, world! >> 055

0
public static string ToLeadZeros(this int strNum, int num)
{
    var str = strNum.ToString();
    return str.PadLeft(str.Length + num, '0');
}

// var i = 1;
// string num = i.ToLeadZeros(5);

-2

여기에 4 자리 숫자로 숫자를 입력하고 싶습니다. 예를 들어, 1이면 0001로 표시되고 11이면 0011로 표시되어야합니다.

다음은이를 수행하는 코드입니다.

reciptno=1; // Pass only integer.

string formatted = string.Format("{0:0000}", reciptno);

TxtRecNo.Text = formatted; // Output=0001

이 코드를 구현하여 PDF 파일의 입금 번호를 생성했습니다.


1
? 왜 그냥 대문자 또는 문장 structure.Is을 필요로 내 대답을 편집하는 개발자는없는 문장 구조의 코드에 관심을 가져야한다
saktiprasad 스웨인

@Unheilig 나는 stackoverflow를 처음 사용합니다. 응답을 편집하면 포인트가 줄어 듭니다.
saktiprasad는

3
지적했듯이이 커뮤니티를 처음 사용하고 편집 시스템에 익숙하지 않은 사용자는 커뮤니티에서 제안하고 승인 한 편집에서 포인트를 잃지 않았습니다. 실제로 수정 한 내용은 답변을 크게 향상 시켰습니다
Security Hound

1
투표는 실제로 익명입니다. 하향식은 문법이 좋지 않아 발행되었습니다. 수정 제안을 수락 한 경우 투표를했을 것입니다
Security Hound


-5

음수 일 수있는 int i문자열 길이와 일치하도록 채움 int x:

i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')

2
매우 간단한 해결책이있을 때 특히 혼란 스럽습니다.
Juls
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.