문자열로 변환 해야하는 숫자가 있습니다. 먼저 이것을 사용했습니다 :
Key = i.ToString();
그러나 나는 그것이 이상한 순서로 정렬되고 있음을 알고 있으므로 0으로 채워야합니다. 어떻게해야합니까?
답변
오히려 간단합니다.
Key = i.ToString("D2");
D
“소수”, 2
인쇄 할 자릿수를 나타냅니다.
답변
String의 일부 사용 예는 C #의 문자열 형식을 참조하십시오.
실제로 int 형식 의 더 좋은 예
String.Format("{0:00000}", 15); // "00015"
또는 문자열 보간을 사용하십시오 .
$"{15:00000}"; // "00015"
답변
고정 너비 (예 : 10 자리)를 유지하려면 다음과 같이하십시오.
Key = i.ToString("0000000000");
원하는 숫자로 교체하십시오.
i = 123
그러면 결과가됩니다 Key = "0000000123"
.
답변
아직 아무도 언급하지 않았으므로 C # 버전 6 이상 (예 : Visual Studio 2015)을 사용하는 경우 문자열 보간 을 사용하여 코드를 단순화 할 수 있습니다. 따라서을 사용하는 대신 다음과 string.Format(...)
같이하면됩니다.
Key = $"{i:D2}";
답변
사용하다:
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");
답변
시험:
Key = i.ToString("000000");
그러나 개인적으로 문자열 표현 대신 정수를 직접 정렬 할 수 없는지 알 수 있습니다.