Bonjour,
je dois développer une fonction de calcul de taux.
La fonction se décompose comme suit:
Dx = (1/(1+i))^x * Lx
où i est un taux (ex 0.046)
V(x, x+y) = ( somme de Dx+1 à Dx+y)/Dx.
J'ai codé ça à base de boucle for et d'addition successive des Dx+n.
(je calcule mes dxn je les additionne, et fait la division par Dx à la fin).
En premier lieu j'ai utilisé des double, la précision est correcte pour des valeurs de x faibles mais ça dévie de plus en plus quand il augmente.
J'ai donc décidé d'utiliser BigDecimal. Problème, je dois alors gérer manuellement la précision sur les divisions. La précision de mes résultats, au lieu d'augmenter, diminue.
Pour la dernière valeur, Excel donne 0,276. J'obtiens 0,906.
Précision, nous sommes dans un environnement en JDK 1.4.
Les Lx commencent vers 100 000 et tendent vers 0 quand x augmente.
Avez vous une idée de comment obtenir un résultat plus convaincant?
Cordialement,
Partager