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 :

Formule avec exposant


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut Formule avec exposant
    Slt à tous,
    je vous dit de suite que je suis débutant en java, donc je dois creer un formulaire qui calcul automatiquement des que les valeurs sont entrées par l'internaute.
    jusqu'a la ca va à peu prés sauf que je viens de tomber sur un os avec un calcul de la mort.

    function calculpro()
    {
    ...
    document.formu.pronewmensu.value=(Number(document.formu.promont.value)*(0.08/12)/(1-(1+(0.08/12))-Number(document.formu.produree.value));
    }

    dans la fonction le "Number(document.formu.produree.value)" doit être en exposant a soustraire au reste.

    le blem c'est que je ne sais pas comment gerer les exposants. si qql'un pouvez me donner un coup de pouce ca serait bien cool.
    Merci

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    bonjour,

    d'abord Java n'est pas Javascript !!!

    Maintenant pour calculer une puissance utilise la méthode pow() de l'objet Math :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var a = 5, b = 6;
    var resultat;
    resultat = Math.pow(a,b); // calcule a^b

  3. #3
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    Merci et desolé pour l'erreur de forum.

    Par contre je ne vois pas comment l'adapter à ma formule, qui plus est cet exposant doit etre soustrait

  4. #4
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    j'ai essayé avec ce code:

    function calculpro()
    {
    document.formu.promont.value=Number(document.formu.procumu.value)+Number(document.formu.proimmo.value)-Number(document.formu.procons.value);
    document.formu.prototal.value=Number(document.formu.promons.value)+Number(document.formu.promde.value)+Number(document.formu.proautre.value);
    document.formu.pronewmensu.value=Number(document.formu.promont.value)*(0.08/12)/Math.pow((1-(1+(0.08/12))),-Number(document.formu.produree.value));
    }
    le blem c'est que dans le champs ou doit safficherle resultat cela m'incrit
    un chiffre du style 9.422831341078558e-42
    qui ne correspont pas au resulat escompté.

    Qql'un a une idée ????

  5. #5
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    Tu ne t'es pas trompé de forum Ton problème est un problème javascript.

    Maintenant à quoi correspond cette équation ?

  6. #6
    Membre habitué Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Points : 193
    Points
    193
    Par défaut
    C'est bon j'ai trouvé.
    C'est une equation de calcul de pret.

    Pour l'erreur de formule c'était une erreur de parenthése.
    @+

  7. #7
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    salut,

    tu te rendrais compte immédiatement des erreurs de parenthèses en utilisant des variables pour alléger le code.

    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
    function calculpro()
    {
     var formu = document.getElementById("formu");
     var cumu = parseInt(formu.procumu.value);
     var immo = parseInt(formu.proimmo.value);
     var cons = parseInt(formu.procons.value);
     var mons = parseInt(formu.promons.value);
     var mde = parseInt(formu.promde.value);
     var autre = parseInt(formu.proautre.value);
     var mont = parseInt(formu.promont.value);
     var duree = parseInt(formu.produree.value);
    // ou parseFloat
     
     formu.promont.value = cumu + immo - cons;
     formu.prototal.value = mons + mde + autre;
     formu.pronewmensu.value = mont * 0.08/(12*Math.pow(0.08/12,-duree));
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-Excel] Calcul d'une formule avec une inconnue
    Par micwiss dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/10/2006, 16h04
  2. Tirer les formules avec boucle et condition excel
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 19/10/2006, 15h11
  3. Copier une formule avec vba
    Par NAMORJOSE dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/05/2006, 00h12
  4. Réponses: 5
    Dernier message: 17/05/2005, 09h34
  5. [reseaux] Comment creer un compte user à partir d'un formul avec perl
    Par oulai_evado dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 01/10/2002, 19h54

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