webentwicklung-frage-antwort-db.com.de

Formatieren Sie den String in eine dreistellige Zahl

Anstatt dies zu tun, wollte ich string.format() verwenden, um dasselbe Ergebnis zu erzielen:

if (myString.Length < 3)
    {
        myString =  "00" + 3;
    }
56
Alex

Wenn Sie nur eine Zahl formatieren, können Sie einfach das richtige benutzerdefinierte numerische Format angeben, um es direkt zu einer 3-stelligen Zeichenfolge zu machen:

myString = 3.ToString("000");

Oder verwenden Sie alternativ die Standard-D-Formatzeichenfolge :

myString = 3.ToString("D3");
99
Reed Copsey
 string.Format("{0:000}", myString);
22
Haitham Salem

Es heißt Padding :

myString.PadLeft(3, '0')
18
PinnyM

(Kann noch nicht genug kommentieren, lassen Sie mich eine Nebenbezeichnung hinzufügen)}

Nur für den Fall, dass Ihre Ausgabe eine 3-stellige feste Länge haben muss, d. H. Für eine Anzahl von bis zu 1000 oder mehr (reservierte feste Länge), vergessen Sie nicht mod 1000 hinzuzufügen.

yourNumber=1001;
yourString= yourNumber.ToString("D3");        // "1001" 
yourString= (yourNumber%1000).ToString("D3"); // "001" truncated to 3-digit as expected

Trail-Beispiel auf Fiddler https://dotnetfiddle.net/qLrePt

5
Sxc

"Gewusst wie: Auffüllen einer Nummer mit führenden Nullen" http://msdn.Microsoft.com/en-us/library/dd260048.aspx

3
user287107

Sie können auch Folgendes tun: string.Format ("{0: D3}, 3);

3
sstassin

So wird die String-Interpolation C # 7 verwendet

$"{myString:000}"
3
Ali Shahrokhi

Muss es String.Format sein?

Das sieht aus wie ein Job für String.Padleft

myString=myString.PadLeft(3, '0');

Oder, wenn Sie direkt von einem int konvertieren:

myInt.toString("D3");
2
Sconibulus

Dies ist eine kurze Handzeichenfolge formatInterpolation :

$"{value:D3}"