Bonjour à tous,

j'ai une petite fonction qui me permet de faire un calcul et une autre qui me permet de faire son inverse. Le problème c'est que les résultats ne sont pas tout a fait les même.

Voici mes 2 fonctions :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
function calcul_mensualite(form)
{
  montant = form.acquereur_montant_pret.value;
 
  taux = form.acquereur_taux.value;
 
  annees = Number(document.getElementById('annee').value) * 12;
 
  taux = Remplace(taux,",",".");
 
  mensualite=montant*(taux/100)/(1-Math.pow((1+taux/100/12),(-annees)))/12;
  mensualite=Math.floor(mensualite*100)/100;
  if(!isNaN(mensualite)){
    form.acquereur_mensualite.value=mensualite;
  }
}
 
function inverse_mensualite(form)
{
  mensualite = form.acquereur_mensualite.value;
 
  taux = form.acquereur_taux.value;
 
  annees = Number(document.getElementById('annee').value) * 12;
 
  taux = Remplace(taux,",",".");
 
  montant=mensualite/(taux/100)*(1-Math.pow((1+taux/100/12),(-annees)))*12;
  montant=Math.floor(montant*100)/100;
  if(!isNaN(montant)){
    form.acquereur_montant_pret.value=montant;
  }
}
Je pars d'un montant 4000 pour arriver a des mensualités de 76,4. Si je fais l'inverse que je pars des mensualités de 76,' j'arrive a un montant de 3999.75 et non 4000. Pourtant les données sont identiques. Donc j'en déduis que mon erreur se situe dans une des 2 fonctions ou peut-être même les 2. Voyez-vous d'où cela pourrait provenir ?

Merci d'avance.