Salut à tous...
Je galère (et c'est un petit mot) sur une IHM.
En fait j'ai une fenetre avec des valeurs récupérées dans une BDD que j'affiche dans des jTextFields.
Pour l'affichage, j'utilise un DecimalFormat comme suit :
L'ensemble de ces données sont modifiables manuellement et par conséquent j'ai une fonction de rafraichissement des variables qui doit récupérer les valeurs (String) des JTextFields pour ensuite les convertir en double. J'utilise alors 2 fonctions :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static final String roundDouble(double d) { DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.FRANCE); dfs.setGroupingSeparator(' '); DecimalFormat df = new DecimalFormat("#,##0.00", dfs); return df.format(d).replace(',','.') ; }
et Voici l'appel de la fonction getDouble()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 public static final Double getDouble(String s) { s = s.replace('.',',') ; NumberFormat nombre = NumberFormat.getCurrencyInstance(Locale.FRANCE); try { return (parseFull(nombre,s)).doubleValue() ; } catch(Exception e) { System.out.println(e.toString()); } return 0. ; } public static Number parseFull(NumberFormat nf, String source) throws ParseException { ParsePosition parsePosition = new ParsePosition(0); Number number = nf.parse(source, parsePosition); // On vérifie qu'il n'y ai pas d'erreur : if (parsePosition.getErrorIndex() >= 0) { throw new ParseException("Unparseable number: \"" + source + "\"", parsePosition.getErrorIndex()); } // On vérifie que toute la chaine a bien été parsé : if (parsePosition.getIndex() != source.length()) { throw new ParseException("Unparseable number: \"" + source + "\"", parsePosition.getIndex()); } return number; }
Mon problème est que ca me lève sans cesse un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this.capital = getDouble(jTextField1.getText().replace(' ', '\u00a0'));Comment faire alors pcq je sèche d'un point de vue idée...
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.text.ParseException: Unparseable number: "0,00"
Merci pour votre aide !
Partager