Wie kann ich die String-Darstellung eines Floats links einbinden?
-
06-07-2019 - |
Frage
Ich versuche, eine einzelne Präzisionsschwimmpunktzahl in eine ASCII -Darstellung der vier Bytes umzuwandeln, die sie herstellen (Zeichen/Exponent/Mantissa). Mein aktueller Code ist:
Integer.toString(Float.floatToRawIntBits(f),16);
Float.floatToRawIntBits
macht eine Ganzzahl, die die gleichen Bytes verwendet, und dann Integer.toString
Erstellt die ASCII -Ziffern in Hex -Form (daher der angegebene Radix = 16). Mein Problem ist, dass ich immer 8 ASCII-Zeichen und das optionale '-' Zeichen und Integer.toString
ist nicht mit Nullen der linken Seite gepolstert.
Kann jemand eine elegante Lösung finden?
Vielen Dank.
Lösung
Sie können verwenden String.Format ():
String.format("%08x", Float.floatToRawIntBits(f))
Dadurch wird das Ergebnis null und formatiert es als Hexadezimalzahl. Details zu Formatketten finden Sie hier.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow