Disons que j'ai un numéro 345, je veux avoir pour que je me retrouve avec 0345. I.e.Rembourrer un nombre avec des zéros
int i = 0345;
Comment puis-je prendre un numéro existant et la déplacer le long ou ajouter un 0.
Disons que j'ai un numéro 345, je veux avoir pour que je me retrouve avec 0345. I.e.Rembourrer un nombre avec des zéros
int i = 0345;
Comment puis-je prendre un numéro existant et la déplacer le long ou ajouter un 0.
Je sais que vous parlez d'un int, mais peut-être que ce que vous voulez est de pad un nombre avec 0 principaux. Un moyen rapide est avec la méthode statique String.format.
int num = 345;
String.format("%04d", num);
renverrait:
"0345"
4d il dit d'ajouter 0s à gauche si elle a moins de 4 chiffres, de sorte que vous pouvez changer à un 5 et il vous donnerait:
"00345"
L'utilisation d'un 0 sur le début du numéro lors de la déclaration, cela signifie qu'il est octal, donc 0345 est en fait 229 en décimal . Je ne suis pas sûr comment vous comptez ajouter un zéro à un nombre en utilisant des opérations au niveau du bit, qui fonctionnent sur la représentation binaire du nombre. Si vous voulez l'ajouter à la représentation décimale, cela ne veut rien dire, puisque le nombre est toujours stocké en binaire, et la valeur est convertie pour votre commodité en décimal lors de l'affichage. Lorsque vous faites des calculs, la valeur décimale n'est pas importante, seulement la valeur binaire.
Si vous êtes intéressé uniquement à afficher la valeur avec un 0 au début, vous pouvez ajouter le 0 à une chaîne contenant ce nombre qui peut être facilement fait comme ceci "0" + i
.
doit être un int. –
J'ai Integer.parseInt ("0" +575,8) ;, mais c'est un peu sale. –
Les valeurs primitives ne peuvent pas contenir les 0 précédents comme ça. La valeur pour 345 sera réellement '00000000000000000000000101011001'. C'est ce qui est utilisé dans tous les calculs. Lorsque vous voyez réellement 345 le système obtient cette valeur binaire et la transforme en une chaîne à afficher. Sinon, il est toujours utilisé comme ça. Ajouter un 0 à la représentation décimale n'a aucun sens ici, vous pouvez seulement l'ajouter à la valeur de la chaîne. 0345 et 345 seraient identiques en binaire (le 0 en décimal n'ajoute rien à la valeur binaire). Peut-être clarifierais-tu ta question si je ne comprenais pas ce que tu veux? –
Pourquoi avez-vous besoin du 0 précédent? – Poindexter
voulez-vous dire que vous voulez afficher le 0 précédent? Parce que si vous voulez "stocker" le 0 dans l'entier, cela n'a pas de sens – KeatsPeeks
Avez-vous besoin de regex pour modifier votre code source afin que ces littéraux décimaux deviennent octaux? Voulez-vous un remplissage nul lors de l'impression de nombres? Qu'est-ce que vous voulez réellement? – polygenelubricants