programing

int 값이 10 미만이면 문자열 두 자리 숫자로 변환됩니다.

lovejava 2023. 8. 7. 22:15

int 값이 10 미만이면 문자열 두 자리 숫자로 변환됩니다.

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

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

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://learn.microsoft.com/en-us/dotnet/api/system.int32.tostring?view=netframework-4.7.2#System_Int32_ToString_System_String_

승인된 답변은 훌륭하고 빠릅니다.

i.ToString("00")

또는

i.ToString("000")

복잡성이 더 필요하면 String.포맷은 시도해 볼 가치가 있습니다.

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");

이 블로그 게시물은 문자열을 다양한 형식으로 포맷하려고 할 때 유용하게 보관할 수 있는 훌륭한 작은 속임수입니다.

트로이 목마에 대한 링크가 제거됨

편집

Google이 일시적으로 해당 사이트(또는 관련 사이트)가 악성 소프트웨어를 유포하고 있을 수 있다고 경고했기 때문에 링크가 제거되었습니다.이제 더 이상 문제가 없는 것으로 보고되지 않습니다.Google "SteveX String Formatting" 검색 결과를 확인할 수 있으며 자유롭게 방문할 수 있습니다.

작성 당시에는 기출문제가 대부분 완벽하게 좋은 답변이었다고 답변을 시작하겠습니다.그래서 써주신 분들께 감사드립니다.

이제 동일한 솔루션에 문자열 보간을 사용할 수도 있습니다.

편집: Heretic Monkey로부터 완벽하게 유효한 건설적인 코멘트를 받은 후 이 설명을 추가합니다.저는 사용하는 것을 선호해 왔습니다.ToString 정수를 문자열로 변환해야 할 때마다 결과를 다른 문자열에 추가하지 않습니다.또한 아래 예시와 같이 문자열과 정수를 결합해야 할 때마다 보간법을 사용하는 것을 선호했습니다.

문자열 보간

i.ToString("00")
01

i.ToString("000")
001

i.ToString("0000")
0001

$"Prefix_{i:00}"
Prefix_01

$"Prefix_{i:000}"
Prefix_001

$"Prefix_{i:0000}_Suffix"
Prefix_0001_Suffix

이 방법으로도 할 수 있습니다.

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

언급URL : https://stackoverflow.com/questions/2947675/int-value-under-10-convert-to-string-two-digit-number