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

string strI;

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

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

하지만 싶어 "01""001"

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

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



답변

i.ToString("00")

또는

i.ToString("000")

당신이 원하는 것에 따라

추가 옵션은 사용자 지정 숫자 형식 문자열에 대한 MSDN 문서를 참조하십시오. http://msdn.microsoft.com/en-us/library/0c899ak8(VS.71).aspx


답변

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

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;
                }
            }
        }
    }
}


답변

ToString은 형식을 취할 수 있습니다 . 시험:

i.ToString("000");


답변

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

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_


답변

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

트로이 목마 링크 제거

편집하다

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


답변

이렇게 할 수도 있습니다.

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의 수가 증가합니다.


답변