Afficher 2 chiffres apres la virgule et convertir en double [Résolu]

Signaler
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
-
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
-
bonjour
pour afficher deux chiffres apres la virgule j'utilise :
DecimalFormat df = new DecimalFormat("0.00");
puis df.format(mynumber);
j'affiche ce dernier dans un JTextField
le probleme c'est que lorsque je veux le recuperer avec type double en faisant :
double fd = Double.valueOf(textField.getText().toString()).doubleValue();
il me genere une erreur (il ne peut pas le convertir : (je pense car le 5.87 devient 5,87 le virgule l'empeche) )
alors j'ai utilisé
BigDecimal bd = new BigDecimal(a);
BigDecimal bd2= bd.setScale(2,BigDecimal.ROUND_UP);
a = bd2.doubleValue();
celle ci marche mais si j'ai 0.6 il ne m'affiche pas 0.60
alors quoi faire pour afficher 2 chiffres apres la virgule et peut etre convertit en double
j'espere avoir bien expliqué le probleme
merci d'avance

3 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
340
Bonjour,

"42,00" n'est pas un nombre pour, "42.00" en est un. Pour t'en sortir tu peux utiliser un replaceAll(",", ".");
Messages postés
159
Date d'inscription
mardi 2 janvier 2007
Statut
Membre
Dernière intervention
7 mai 2012

Essai ça
double ledouble = Double.parseDouble(textField.getText());


Enjoy
Messages postés
211
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
15 mars 2013
8
j'ai essayé ca ma generé la meme erreur que j'ai cité au debut
voila :

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "42,00"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at livr_f.livr_f_view$5.actionPerformed(livr_f_view.java:373)
....
merci en tout cas