Je veux formater des nombres int comme chaînes hexadécimales. System.out.println(Integer.toHexString(1));
affiche 1
mais je le veux comme 0x00000001
. Comment je fais ça?
Essaye ça
System.out.println(String.format("0x%08X", 1));
Vous pouvez utiliser String.format pour formater un entier sous forme de chaîne hexadécimale.
System.out.println(String.format("0x%08X", 1));
C'est-à-dire, complétez avec des zéros et faites la largeur totale 8. Le 1 est converti en hexadécimal pour vous. La ligne ci-dessus donne: 0x00000001
et
System.out.println(String.format("0x%08X", 234));
donne: 0x000000EA
A partir de la syntaxe de formatage documentée sur le fichier Formatter class de Java:
Integer intObject = Integer.valueOf(1);
String s = String.format("0x%08x", intObject);
System.out.println(s);
Je ne connais pas trop Java, mais il doit y avoir un moyen de remplir la sortie de la fonction toHexString avec un '0' d’une longueur égale à 8. Si "0x" sera toujours au début, cliquez simplement dessus. chaîne au début.
Vous pouvez utiliser une méthode Java.util.Formatter ou la méthode printf sur un flux d'impression.