Probleme de resultat

Fermé
karlusher Messages postés 10 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 8 octobre 2014 - 5 oct. 2014 à 00:21
karlusher Messages postés 10 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 8 octobre 2014 - 8 oct. 2014 à 20:41
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

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
5 oct. 2014 à 00:27
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++)
0
karlusher Messages postés 10 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 8 octobre 2014
6 oct. 2014 à 11:36
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.
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
6 oct. 2014 à 13:50
Ça ce n'est qu'une question d'affichage, tu peux faire par exemple :

System.out.printf("taux de croissance : %.2f",taux);
0
karlusher Messages postés 10 Date d'inscription samedi 22 mars 2008 Statut Membre Dernière intervention 8 octobre 2014
8 oct. 2014 à 20:41
thanks a lot !!! KX
0