[Débutant] NumberFormat qui arrondit bizarrement
	
	
		Bonjour à tous,
Rien de mieux qu'un bout de code pour comprendre : 
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | // NumberFormat
String nombre = "12.123455";
String nombre2 = "12.612325";
Integer minDecimal = new Integer("2");
Integer maxDecimal = new Integer("5");
NumberFormat nf = NumberFormat.getInstance();
double nombreFloat = new Double("0");
double nombreFloat2 = new Double("0");
try {
	nombreFloat = (new Double(nombre)).doubleValue();
	nombreFloat2 = (new Double(nombre2)).doubleValue();
} catch(NumberFormatException nfe){
	nfe.printStackTrace();
}
if(minDecimal!=null){
	nf.setMinimumFractionDigits(minDecimal.intValue());
}
if(maxDecimal!=null){
	nf.setMaximumFractionDigits(maxDecimal.intValue());
}
System.out.println("\n\nNumberFormat : " + nf.format(nombreFloat));
System.out.println("NumberFormat : " + nf.format(nombreFloat2)); | 
 Et voici les résultats dont le deuxième qui me surprend quelque peu 8O :
	Code:
	
| 12
 
 | NumberFormat : 12,12346
NumberFormat : 12,61232 | 
 Quelqu'un sait-il pourquoi le deuxième résultat n'est pas "12.61233" ? 
Pour info, vous pouvez aussi essayer avec "12.612315" avec il va bien vous donner "12.61232" !!!
En théorie, vu qu'il y a un 5 derrière il n'y a même pas à se poser la question. Ai-je louper un cours élémentaire de maths en ce qui concerne les arrondis :oops: ???
Merci d'avance