J'ai pas l'impression que ce code marche, il ne faudrait pas plutot faire qqchose genre:
parceque:
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; }
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.
Partager