10 미만의 int 값을 문자열로 변환 두 자리 숫자


119
string strI;   

for (int i = 1; i < 100; i++)
    strI = i.ToString();

여기에 i = 1다음이 ToString산출되면"1"

하지만 싶어 "01""001"

꽤 쉬워 보이지만에 대한 기사 만 있습니다.

datetime.ToString("yyyy-MM-dd")`

tostirng옳지 않은 컴파일 및 실행 코드를 게시하는 것이 가장 좋습니다 . 또한 프로그래머 0x에게는 16 진수 기준을 언급하고 있다고 제안합니다. "선행 0"을 찾고 있습니다.
Kobi 2010-06-01

@Kobi 죄송합니다. 제 모국어는 영어가 아니고 제 영어는 실제로 나쁩니다. 영어 실력을 향상시키기 위해 매일 영어 학교에갑니다. 제발 이해 해주세요. 그리고 나는 편집했습니다tostirng
임성

괜찮아. 힌트입니다. 어쨌든 int.ToString은 DateTime.ToString.
Kobi 2010-06-01

답변:



12

허용되는 대답은 훌륭하고 빠릅니다.

i.ToString("00")

또는

i.ToString("000")

더 복잡한 것이 필요하면 String.Format을 시도해 볼 가치가 있습니다.

var str1 = "";
var str2 = "";
for (int i = 1; i < 100; i++)
{
    str1 = String.Format("{0:00}", i);
    str2 = String.Format("{0:000}", i);
}

i = 10케이스 의 경우 :

str1: "10"
str2: "010"

예를 들어 양식의 특정 레이블 컨트롤에 대한 텍스트를 이름으로 지우려면 이것을 사용합니다.

private void EmptyLabelArray()
{
    var fmt = "Label_Row{0:00}_Col{0:00}";
    for (var rowIndex = 0; rowIndex < 100; rowIndex++)
    {
        for (var colIndex = 0; colIndex < 100; colIndex++)
        {
            var lblName = String.Format(fmt, rowIndex, colIndex);
            foreach (var ctrl in this.Controls)
            {
                var lbl = ctrl as Label;
                if ((lbl != null) && (lbl.Name == lblName))
                {
                    lbl.Text = null;
                }
            }
        }
    }
}


6

아무도 이것을 제안하지 않았다는 것을 믿을 수 없습니다.

int i = 9;
i.ToString("D2"); // Will give you the string "09"

또는

i.ToString("D8"); // Will give you the string "00000009"

16 진수를 원하는 경우 :

byte b = 255;
b.ToString("X2"); // Will give you the string "FF"

통화 기호를 로케일하면 "C"만 사용하여 통화로 표시 할 수도 있습니다. 여기를 참조하십시오 : https://docs.microsoft.com/en-us/dotnet/api/system.int32.tostring?view=netframework-4.7.2#System_Int32_ToString_System_String_


5

이 블로그 게시물은 문자열을 다양한 형식으로 형식화하려고 할 때 편리하게 사용할 수있는 작은 치트 시트입니다.

트로이 목마 링크 제거

편집하다

Google에서 사이트 (또는 관련 사이트)가 악성 소프트웨어를 유포하고있을 수 있다고 일시적으로 경고했기 때문에 링크가 삭제되었습니다. 이제 목록에서 벗어 났으며 더 이상 문제로보고되지 않습니다. Google "SteveX String Formatting"검색 결과를 찾을 수 있으며 재량에 따라 방문 할 수 있습니다.


1
해당 사이트 (현재)는 트로이 목마 경고를 트리거합니다.
Henk Holterman

0

이렇게 할 수도 있습니다.

private static string GetPaddingSequence(int padding)
{
      StringBuilder SB = new StringBuilder();
      for (int i = 0; i < padding; i++)
      {
           SB.Append("0");
      }

      return SB.ToString();
  }

public static string FormatNumber(int number, int padding)
{
    return number.ToString(GetPaddingSequence(padding));
}

마지막으로 FormatNumber 함수를 호출합니다.

string x = FormatNumber(1,2);

패딩 매개 변수를 기반으로하는 01이 출력됩니다. 증가 시키면 0의 수가 증가합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.