Formatierung als Hex-Zahl
-
Ich hab' noch nicht alle Feinheiten der C# Formatstrings durchschaut, deshalb ist die Frage wohl eigentlich trivial: Wie kann ich eine int-Zahl als Hex-Wert mit fester Länge (und führenden Nullen) formatieren?
In C bzw. C++ hätte ich dafür eine Lösung:
//C printf("%08x",wert) //C++ cout<<hex<<setw(8)<<setfill('0')<<wert;
Aber in den MSDN-Erklärungen zur Zahlenformatierung habe ich nichts gefunden, um das selbe Ergebnis zu erreichen.
{0,8:X}
füllt den Wert mit Leerzeichen auf, nutzerdefinierte Formate geben anscheinend grundsätzlich Dezimalzahlen aus.
-
Über string.Format(...) müsste man das erreichen können.
Code von irgendwo ausm Inet:
string output; int value = 100; // Convert a number to hexadecimal output = string.Format("The decimal value {0} = {0:X} in hex.", value); Console.WriteLine(output); // Outputs "The decimal value 100 = 64 in hex."
-
Hallo,
mit "{0:X8}" klappt das ganz gut
Grüße
-
@icarus: Die Lösung hatte ich auch selber gefunden, da fehlten allerdings die führenden Nullen - ich will nicht "64", sondern "00000064".
@Conan: Danke, das war's was ich gesucht habe.