int waarde onder de 10 converteer naar een tekenreeks van twee cijfers

hierin, als i = 1dan levert ToString"1"

op

Maar ik wil "01"of "001"

ontvangen

Het ziet er vrij eenvoudig uit, maar er is alleen een artikel over

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

Antwoord 1, autoriteit 100%

i.ToString("00")

of

i.ToString("000")

afhankelijk van wat je wilt

Bekijk het MSDN-artikel over strings voor aangepaste numerieke notatie voor meer opties: http://msdn.microsoft.com/en-us/library/0c899ak8(VS.71).aspx


Antwoord 2, autoriteit 7%

Ik kan niet geloven dat niemand dit heeft voorgesteld:

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

of

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

Als je hexadecimaal wilt:

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

Je kunt zelfs alleen de ‘C’ gebruiken om als valuta weer te geven als je een valutasymbool gebruikt. Kijk hier:
https://docs .microsoft.com/en-us/dotnet/api/system.int32.tostring?view=netframework-4.7.2#System_Int32_ToString_System_String_


Antwoord 3, autoriteit 5%

Het geaccepteerde antwoord is goed en snel:

i.ToString("00")

of

i.ToString("000")

Als je meer complexiteit nodig hebt, String.Formatis het proberen waard:

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

Voor het geval i = 10:

str1: "10"
str2: "010"

Ik gebruik dit bijvoorbeeld om de tekst op bepaalde labelopties op mijn formulier op naam te wissen:

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

Antwoord 4, autoriteit 4%

ToString kan een indeling hebben. probeer:

i.ToString("000");

Antwoord 5, autoriteit 2%

Deze blogpost is een geweldig klein spiekbriefje om bij de hand te hebben als je strings probeert op te maken in verschillende formaten.

link naar trojan verwijderd

Bewerken

De link is verwijderd omdat Google tijdelijk heeft gewaarschuwd dat de site (of gerelateerde site) mogelijk schadelijke software heeft verspreid. Het is nu van de lijst en wordt niet langer als problematisch gerapporteerd. Google “SteveX String Formatting” u vindt het zoekresultaat en u kunt het naar eigen goeddunken bezoeken.

Other episodes