답변:
오히려 간단합니다.
Key = i.ToString("D2");
D
"소수", 2
인쇄 할 자릿수를 나타냅니다.
string.Format("D2", value)
하면 D2
출력을 얻을 수 있습니다 . 이 작동하지 않습니다. "{0:00}"
이 경우에 사용해야합니다 .
string.Format("{0:D2}", value)
대신 사용해야 합니다. 그냥 말을 string.Format("D2", ...)
당신이 자리를 가지고 있지 않기 때문에 무슨 일이 있어도 아무 것도 대체하지 않습니다.
value
int 일 때만 작동한다는 것을 알고 있습니다. 경우 value
입니다, 예를 들어,이 수를 두 번해야합니다string.Format("{0:00}", value)
String의 일부 사용 예는 C #의 문자열 형식을 참조하십시오.
실제로 int 형식 의 더 좋은 예
String.Format("{0:00000}", 15); // "00015"
또는 문자열 보간을 사용하십시오 .
$"{15:00000}"; // "00015"
고정 너비 (예 : 10 자리)를 유지하려면 다음과 같이하십시오.
Key = i.ToString("0000000000");
원하는 숫자로 교체하십시오.
i = 123
그러면 결과가됩니다 Key = "0000000123"
.
사용하다:
i.ToString("D10")
참조 Int32.ToString (MSDN) 및 표준 숫자 형식 문자열 (MSDN).
또는을 사용하십시오 String.PadLeft
. 예를 들어
int i = 321;
Key = i.ToString().PadLeft(10, '0');
결과입니다 0000000321
. 비록 String.PadLeft
음수 작동하지 않을 것입니다.
String.PadLeft (MSDN)를 참조하십시오 .
일반적으로 String.Format ( "format", object)이 object.ToString ( "format")보다 선호됩니다. 따라서,
String.Format("{0:00000}", 15);
~보다 바람직하다
Key = i.ToString("000000");
여기에 1이 있으면 0001로 표시되고 11은 0011로 표시되어야하는 것처럼 4 자리로 제한하지 않기를 원합니다. 아래 코드는 다음과 같습니다.
reciptno=1;//Pass only integer.
string formatted = string.Format("{0:0000}", reciptno);
TxtRecNo.Text = formatted;//Output=0001..
송금 번호를 생성하기 위해이 코드를 구현했습니다.
int num=1;
string number=num.ToString().PadLeft(4, '0')
출력 = "00001"
편집 : PadLeft 금액과 일치하도록 변경되었습니다.