Entwickler-Ecke

Basistechnologien - String mit Nullen füllen


Ivy - Mo 06.08.12 13:21
Titel: String mit Nullen füllen
Hallo zusammen
ich möchte einen string führend mit nullen füllen. und zwar benötige ich immer eine zeichen menge von 10 zeichen. wenn meine zahl die ich habe 3 stellen hat soll also vor der zahl mit 7 nullen aufgefüllt werden.
Beispiel:
Zahl: 100
Soll: 0000000100
oder
Zahl: FF
Soll: 00000000FF

EDIT:
hab das mal probiert:

C#-Quelltext
1:
2:
int  Value= 255;
string s = "{0:X10}", Value;

gibt aber einen fehler: "Eine lokale Variable mit dem Namen "Value" ist bereits in diesem Bereich definiert"

das hier funktionietrt leider auch nicht (keine fehlermeldung, passiert einfach nichts..)

C#-Quelltext
1:
Value.PadLeft(10'0');                    


Moderiert von user profile iconTh69: C#-Tags hinzugefügt


Th69 - Mo 06.08.12 14:41

Hallo Ivy,

beide Fehler sind doch wohl offensichtlich - insbesondere der erste: du deklarierst so zwei Variablen (nämlich s und Value). Du wolltest wohl eher

C#-Quelltext
1:
string s = String.Format("{0:X10}", Value);                    

schreiben.

Mit PadLeft hast du aber m.E. den besseren Ansatz (sofern die Stringlänge variabel sein soll), du mußt halt nur den Rückgabewert verwenden:

C#-Quelltext
1:
string paddedValue = Value.PadLeft(10'0');                    

bzw. falls Value keine string-Variable ist:

C#-Quelltext
1:
string paddedValue = Value.ToString().PadLeft(10'0');                    


Marcel# - Di 07.08.12 08:34

ich mach das immer so:
http://alexonasp.net/samples/stringformatting/


Jakane - Di 07.08.12 10:23

bei reinen Zahlen (Ziffern 0-9) funktioniert FormatFloat('0000000000', Zahl);
Funktioniert bei Float UND Integer-Zahlen.

Für alles andere würde ich eine kleine For-Schleife machen

Quelltext
1:
2:
3:
4:
For f:= 1 to (10 - Length(Zahl)) do
begin
  String:= '0' + String;
end;


Moderiert von user profile iconTh69: Code-Tags hinzugefügt


Th69 - Di 07.08.12 10:53

Hallo Jakane,

als Programmierübung o.k., aber für größere Projekte sollte man doch die Funktionalitäten des .NET-Frameworks benutzen - Stichwort NIH-Syndrom [http://en.wikipedia.org/wiki/Not_invented_here] (bzw. das "Rad neu erfinden") ;-)