IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

fonction et son inverse qui donne des résultats faussés


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de kifouillou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 270
    Points : 84
    Points
    84
    Par défaut fonction et son inverse qui donne des résultats faussés
    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.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    des arrondis ...

Discussions similaires

  1. Une requête qui donne des doublons dans les résultats
    Par HDR_16 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/04/2014, 19h51
  2. tester si une requete donne des résultats
    Par gui-llaume dans le forum IHM
    Réponses: 5
    Dernier message: 12/12/2007, 20h39
  3. 2 executions d'un programe C graphique avec SDL me donne des résultats différents
    Par Brin d'if dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 03/12/2007, 11h21
  4. Réponses: 2
    Dernier message: 25/11/2007, 17h37
  5. [RSA]Encryption qui donne des fichiers vides
    Par Janitrix dans le forum Sécurité
    Réponses: 5
    Dernier message: 27/05/2007, 02h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo