Bonjour
quand je fait in Integer.parseInt("058589"), j'ai le retour 58589. Or je souhaiterais garder le "0". et plus généralement tous les chiffres de ma string.
Comment faire.
Merci de votre retour.
Bonjour
quand je fait in Integer.parseInt("058589"), j'ai le retour 58589. Or je souhaiterais garder le "0". et plus généralement tous les chiffres de ma string.
Comment faire.
Merci de votre retour.
Bonsoir,
Pourquoi le mettre dans un int dans ce cas![]()
Salut, tu peux utiliser ce bout de code:
Il te reste plus qu'à créer un algo pour connaitre la longueur de ta chaine de caractère. Ensuite créer un String de (la longueur de ton String)*0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 DecimalFormat df = new DecimalFormat("00000"); System.out.println(df.format(mon_nombre));
Je juge pas l'utilité de ce code, je lui ai juste dis comment faire pour avoir ce qu'il veut.
Bonjour
Avec unJe juge pas l'utilité de ce code, je lui ai juste dis comment faire pour avoir ce qu'elle veut.
on renvoie une valeur entière, pas une chaine de caractère, juste une représentation binaire d'une valeur numérique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Integer.parseInt("058589")
Je comprends pas le sujet de ce topic. ni son aboutissement.
Cordialement
Page sur Developpez : http://pbriand.developpez.com
Pas parce que TU ne comprend pas que c'est forcément débile -_- ! Si tu as une base de donnée avec des clefs d'identifications .... Tu sais que tu auras, avec le temps, un grand nombre d'ID. Pourquoi ne pas afficher les 0 avant ?
Pour avoir une validation de ID, exclusivement numérique, valide en calculant le length, tes IDs doivent tous avoir le meme length. Autant ton ID #00001 que ton ID #99999 !
Et même si TU trouves que ca ne fais toujours pas de sens, si c'est se que le client souhaite ??? Tu vas refuser ?
Pour ma part, j'ai chercher se Topic car dans mon projet (étudiant) la consigne est d'avoir un ID a 5 chiffres ... Si tel est pas le cas, je dois afficher un message d'erreur ! Si j'ai un ID avec des 0 dabord, la validation indique qu'il n'a pas 5 chiffres ! Alors, moi, ça question je la trouve pertinente dans le cadre de mon projet !
Salut,
C'était peut-être dit un peu crûment, mais il est effectivement absurde de convertir une String en int pour la reformater ensuite en String pour remettre le ou les 0 qu'on aurait perdus lors de la conversion en int. Il suffit de conserver la String d'origine et de ne rien faire.
Par ailleurs, un identifiant comme tu le décris n'est pas un int, mais une chaîne : le fait qu'elle ne contienne que des chiffres n'en fait pas un int, justement parce que tous les signes ont leur importance au final et que de toute manière le but d'un id n'est pas de servir dans des calculs, mais uniquement pour identifier de façon unique un produit ou quelque chose dans le genre. Ceci est différent d'un nombre résultant d'un calcul qu'on voudrait afficher dans un format particulier (on utiliserait dans ce cas un formatage pour afficher le nombre comme voulu (DecimalFormat, String.format, etc.).
Et si tu as besoin de saisir une String ne contenant que des chiffres, au nombre précis de 5, tu peux gérer ça avec une String et faire un contrôle du genre :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part string.length()==5 && string.matches("\\d+");
On peut même s'assurer qu'il y ait toujours un 0 devant avec 4 chiffres derrière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part string.matches("\\d{5}");
ou toute autre règle de format qu'on voudrait.
Code : Sélectionner tout - Visualiser dans une fenêtre à part string.matches("0\\d{4}");
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Histoire de rajouter mon grain de sel a cette discussion abracadabrante de 2011 deja uppee en 2015 : tu sais que tu cherches une id a 5 chiffres des le debut donc tu connais le nombre de digit necessaires dans la chaine de sortie donc tu peux padder avec des zero supplementaires dans ton formatter si besoin.
L'erreur du posteur initial est surtout de ne pas avoir pige qu'il y a une tres grosse distinction entre la valeur numerique et sa representation en chaine de texte. Le 0 en prefixe n'existe pas dans la valeur numerique ; il n'est pas preserve. Il aurait fallu qu'il sauvegarde le nombre de digits au moment de la conversion dans une seconde variable et qu'il le reutilise lors du formattage du nombre pour padder avec des 0.
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Carrément. Si le client te payes, c'est parce que tu comprend mieux l'informatique que lui. Donc, quand il te soumet des abbérations technique (genre stocker des id sous forme de string dans la db avec un nombre de digits déterminé alors que ce qu'il veut vraiment sans en avoir conscience c'est juste un format d'affichage), il est de TON DEVOIR de (poliment) le conduire à changer d'avis.Sinon c'est de la négligence voir une faute professionnelle.
la discussion date de 2011... je pense qu'on peut clore le débat![]()
Surtout que c'est faux :
affiche 668 !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public static void main(String[] args) { int valeur = 01234; System.out.println(valeur); }
Et oui, un int qui commence par 0 est en octal : le 0 n'est donc pas ignoré, mais à sa propre signification.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Oui mais là, c'est le compilateur qui le fait.
Dans l'exemple, c'est Integer.parseInt("012345") et là, on renvoie bien 12345
Partager