556 Stimmen

C# konvertieren int zu String mit Auffüllen Nullen?

In C# habe ich einen Integer-Wert, der in String konvertiert werden muss, aber es muss Nullen vor hinzufügen:

Zum Beispiel:

int i = 1;

Bei der Umwandlung in eine Zeichenkette muss es 0001 werden.

Ich muss die Syntax in C# kennen.

1voto

Demodave Punkte 5662
public static string ToLeadZeros(this int strNum, int num)
{
    var str = strNum.ToString();
    return str.PadLeft(str.Length + num, '0');
}

// var i = 1;
// string num = i.ToLeadZeros(5);

1voto

cskwg Punkte 601

Die meisten der gegebenen Antworten sind langsam oder sehr langsam oder funktionieren nicht für negative Zahlen.

Versuchen Sie dies:

}
    //
    //
    ///<summary>Format a value with a fixed number of digits.</summary>
    public static string Pad( this long v, int digits ) {
        int negative = 0;
        if ( v < 0 ) {
            negative = 1;
            v = Math.Abs( v );
        }
        var source = v.ToString();
        var length = source.Length;
        int max = length;
        if ( max < digits ) {
            max = digits;
        }
        max += negative;
        var ca = new char[ max ];
        for ( int i = 0; i < max; i++ ) {
            ca[ i ] = '0';
        }
        while ( length > 0 ) {
            ca[ --max ] = source[ --length ];
        }
        if ( 0 != negative ) ca[ 0 ] = '-';
        return new string( ca );
    }

-2voto

saktiprasad swain Punkte 348

Hier möchte ich meine Nummer mit 4 Ziffern auffüllen. Zum Beispiel, wenn es 1 ist, dann sollte sie als 0001 angezeigt werden, wenn sie 11 ist, sollte sie als 0011 angezeigt werden.

Im Folgenden finden Sie den Code, der dies ermöglicht:

reciptno=1; // Pass only integer.

string formatted = string.Format("{0:0000}", reciptno);

TxtRecNo.Text = formatted; // Output=0001

Ich habe diesen Code implementiert, um Geldquittungsnummern für eine PDF-Datei zu generieren.

-2voto

Sagar Sojitra Punkte 1
string hello = "Hello C# Corner.";

string helloHash = hello.PadLeft(5, '#');  

Console.WriteLine(helloHash); 

Ausgabe :-

#####Hello C# Corner.

-5voto

xnp Punkte 51

Auffüllen int i mit der Länge der Zeichenkette von int x , wenn beide negativ sein können:

i.ToString().PadLeft((int)Math.Log10(Math.Abs(x < 0 ? x * 10 : x)) + 1, '0')

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X