none
String - Format RRS feed

  • Frage

  • Hallo,

    mal eine einfache Frage. Wie formatiert man mit führenden Nullen?

    Gruß, Oliver

    for (int j = 0; j < test.Quantity; j++)
    {
     ser = new WorkNumber();
     ser.Position = j + 1;
     ser.ID = String.Format("{0:d10}", j + 1);
       // String.Format($"{0:d10(j +1)}") am Rande, wie formatiere ich das in der neuen Schreibweise
     test.ListID.Add(ser);
    }

    Dienstag, 30. Mai 2017 16:20

Antworten

  • Hallo Oliver,

    was stört dich an:

    j.ToString( "d10" );

    ? Die von dir verwendete Form:

    String.Format( "{0:d10}", j + 1 )

    geht aber genauso.

    Daher die Frage: Was klappt denn bei dir nicht?

    Falls "ID" der Klasse "WorkNumber" eine numerische Eigenschaft ist, nützen dir die führenden Nullen dort natürlich nichts, da eine Zahl keine führenden Null hat.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    Dienstag, 30. Mai 2017 16:25
    Moderator
  • Hi Oliver,
    die Zeichenkette kannst Du mit dem aktuellen C# so erzeugen:

    ser.ID = $"{(j+1):d10}";


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Dienstag, 30. Mai 2017 16:29

Alle Antworten

  • Hallo Oliver,

    was stört dich an:

    j.ToString( "d10" );

    ? Die von dir verwendete Form:

    String.Format( "{0:d10}", j + 1 )

    geht aber genauso.

    Daher die Frage: Was klappt denn bei dir nicht?

    Falls "ID" der Klasse "WorkNumber" eine numerische Eigenschaft ist, nützen dir die führenden Nullen dort natürlich nichts, da eine Zahl keine führenden Null hat.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community



    Dienstag, 30. Mai 2017 16:25
    Moderator
  • Hi Oliver,
    die Zeichenkette kannst Du mit dem aktuellen C# so erzeugen:

    ser.ID = $"{(j+1):d10}";


    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Dienstag, 30. Mai 2017 16:29
  • Hi Stefan,
    da fehlt die "+1" und die Frage war nach der neuen interpolierte Zeichenfolge in C#.NET.

    --
    Viele Grüsse
    Peter Fleischer (ehem. MVP)
    Meine Homepage mit Tipps und Tricks

    Dienstag, 30. Mai 2017 16:31
  • Hallo Zusammen,

    ja passt jetzt, wußte dass das einfach ist ;-) Danke.

    Gruß, Oliver


    Dienstag, 30. Mai 2017 16:40
  • Hallo Peter,

    da stand im Kommentar "am Rande, wie formatiere ich das in der neuen Schreibweise". Ich ging daher davon aus, dass Oliver das erst mal generell wissen wollte und dann zusätzlich, wie man es in der neuen Schreibweise machen kann.

    Aber solange Oliver gedient ist, passt es ja in allen Varianten :)


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Dienstag, 30. Mai 2017 20:30
    Moderator
  • Hallo zusammen,
    wie gesagt passt alles.
    ser.ID = String.Format("{0:d10}", j + 1);
    ser.ID = $"{(j + 1):d10}";

    // Wußte gar nicht, dass man das String.Format weglassen kann.
    ser.ID = $"{(j+1):d10}"

    Kennt Ihr evtl. eine Vergleichstabelle
       Alt, Neu
    Ist ja doch etwas gewöhnungsbedürftig. Wenn man es öfters macht, wird es gehen. ;-)

    Gruß, Oliver


    Donnerstag, 1. Juni 2017 16:33