for (int i=0; i<listNumber.size(); i++){
String strNumber = (String)listNumber.get(i);
try {
Number parsedNumber = myFormatter.parse(strNumber);
double dblNumber = parsedNumber.doubleValue();
System.out.println(strNumber + " : " + dblNumber);
} catch (ParseException e) {
System.out.println(strNumber + "n'a pu être parsé");
}
}
}
cette petite class compile et tourne mais le résultat est assez surprenant.
la voilà ...
1.2 : 1.2 // OK
1,2 : 12.0 // // le format n'est pas correct on aurait dû passer dans
l'exception, non ?
12 : 12.0 // OK
123 : 123.0 //OK
1234 : 1234.0 //OK ... quoique ...
1,234 : 1234.0 //OK
1,234.5 : 1234.5 //OK
1.234,5 : 1.234 // le format n'est pas correct on aurait dû passer dans
l'exception, non ?
1 234.5 : 1.0 // le format n'est pas correct on aurait dû passer dans
l'exception, non ?
1 234,5 : 1.0 // le format n'est pas correct on aurait dû passer dans
l'exception, non ?
Auriez vous une explication a ce comportement plus que permissif ? Et auriez
vous une idée pour lever une exception lorsque le format n'est pas
Strictement respecté. (un peu comme le setLeniente dans le parseDate)