Citation Envoyé par michon Voir le message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
public double creerTotal(){
		double totalMontant = 0;
		double entier = 0;
		double decimal = 0;
		for (int i =0; i < this.count(); i++){
			decimal = new Double(list.get(i).getDecimal()/100);
			entier = new Double(list.get(i).getEntier());
		}
		return entier+decimal;
	}
J'ai pas l'impression que ce code marche, il ne faudrait pas plutot faire qqchose genre:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public double creerTotal(){
		double totalMontant = 0;
		double entier = 0;
		double decimal = 0;
		for (int i =0; i < this.count(); i++){
			decimal = new Double(list.get(i).getDecimal())/100;
			entier = new Double(list.get(i).getEntier());
			totalMontant += decimal + ( entier * Math.pow(10, Math.max(list.get(i).getDecimal().length-2, 0)) );
		}
		return totalMontant;
	}
parceque:
1- getDecimal() retourne une chaine, pas un double (et si c'etait un int, ce serait une grossière division entière), CosaNostra a raison sur ce coup.

2- Tu as une liste, mais tu la parcours pour faire quoi? une somme? une moyenne? La j'ai mit le code pour une somme, pour la moyenne, divise par count() après la boucle.

3- Si la taille de décimal est supérieur à 2, il "repousse" les chiffres de entier? Exemple: 300 et 123 -> 3001,23? si oui, alors il faut mettre cette correction, si le résultat est 301,23, je n'ai rien dit.

4- il se passe quoi si on rentre 3000 et 4? 3000,04? 3000,4? 300,04?
Je pense le premier cas, mais je suis pas sûr.