Probleme de resultat

svp !!!!
j'ai ce code java

public class Calcul {
public static void main(String[] args) {
double taux, tauxCroissance = 1.2;
for (int i=1;i<4;i++) {
taux = tauxCroissance/i;
System.out.println("taux de croissance : "+taux);
}
}
}

et lorque j'execute cela me donne :

taux de croissance : 1.2

taux de croissance : 0.6

taux de croissance : 0.3999999999997

je m'attendais à ce que la derniere valeur donne 0.3 au lieu de 0.399999997 que faire pour obtenir 0.3?

2 réponses

  1. Modérateur
    Bonjour,

    0.399999997 c'est 0.4 aux arrondis près (les double ne font pas de calculs exacts).
    Pour avoir 0.3 il faudrait diviser 1.2 par 4, mais ce n'est pas le cas vu ta boucle.
    Il faudrait faire
    for (int i=1; i<=4; i++)
    1. ok merci pour ta reponse !!!!
      j'ai mal expliqué mon probleme en fait ce que je voulais c'est comment faire en sorte que le resultat affiche 0.4 au lieu de 0.399999997.
      1. Modérateur
        Ça ce n'est qu'une question d'affichage, tu peux faire par exemple :

        System.out.printf("taux de croissance : %.2f",taux);
      2. thanks a lot !!! KX