Entiers de remplissage gauche (format non décimal) avec des zéros en Java
La question a été répondu pour les entiers imprimé au format décimalmais je suis à la recherche d'un élégant façon de faire de même avec des entiers dans non décimal format (comme binaire, octal, hexadécimal).
La création de ces Chaînes est facile:
String intAsString = Integer.toString(12345, 8);
serait de créer une Chaîne avec le octal represenation de la valeur de l'entier 12345. Mais comment mettre en forme, de sorte que la Chaîne a 10 chiffres, outre le calcul du nombre de zéros nécessaires et d'assembler une nouvelle Chaîne de caractères "à la main".
Un cas d'utilisation typique serait la création de nombres binaires avec un nombre fixe de bits (16, 32, ...) où l'on aimerait avoir tous les chiffres, y compris les zéros non significatifs.
source d'informationauteur Andreas_D
Vous devez vous connecter pour publier un commentaire.
Comment à ce sujet (Java standard):
Pour oct et hex, c'est aussi simple que
String.format
:Avec Goyave vous pouvez simplement écrire:
L'impression d'un nombre HEXADÉCIMAL, par exemple, avec ZÉRO padding:
Donnera le résultat suivant, avec le rembourrage inclus:
En remplaçant x par OCTAL associé caractère de mise en forme va faire la même chose, sans doute.
Voici un plus réutilisables alternative avec l'aide de
StringBuilder
.La Goyave exemple posté par ColinD est assez lisse.