Addition

XwZ -  
 XwZ -
slt
voila j'ai un probleme avec mon code je voudrais une calculatrice en js mais j'ai un problème quand il s'agit d'une addition. Je fait un truc du style :
<script language="JavaScript">
<!--
function verif()
{
var cat=document.num.cat.value;
var num1=document.num.num1.value;
var num2=document.num.num2.value;
if(cat==1)
{
var result= num1+num2;
}
alert("Le résultat est " + result);
}
// -->
</script>
mais mon problème et que ça ne les additionne pas ça assemble par exemple si num1=2 et num2=3 au lieux d'avoir 5 j'ai 23.
Est-ce que vous pouvez me donnez une explication afin d'y remédier ?
merci

9 réponses

  1. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    normal tu recupere des chaines de caracteres il fait donc une concatenation des chaine "2"+"3" ="23"...
    pour faire une addition d'entier il faut au prealable parser en int tes chaines...
    ParseInt permet de convertir une variable en nombre
    http://www.commentcamarche.net/javascript/jsvar.php3#parseint
    COIN!
    0
  2. XwZ
     
    désolés, mais voila j'ai changer mon script je voudrais faire un truc du style calculatrice de windows donc j'ai bien tous les bouton qui marche mais en faisent
    <script language="JavaScript">
    <!--
    function calc()
    {
    result = parseInt(document.post.nom.value);
    alert("le resultat est " + result);
    }
    //-->
    </script>
    ça ne me calcule pas l'expression c'est à dire que si je je met 5+2 result=5.
    alors ma question est comment fait-on pour pour calculer l'expression ?
    Merci d'avance.
    0
  3. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    heu dans value tu as mis 5+2 c'est ca?
    si oui c est pas bon.
    il faut decouper value dans ce cas mette dans une var le 5 evaluer le + et mettre dans une autre var le 2

    COIN!
    0
  4. XwZ
     
    ouai c'est tout à fait ça j'ai 5+2 dans le value. mais euh je suis comme qui dirait perdu avec la methode à utiliser c'est comment qu'on fait ? je doit compter le nombre de caractère et fair un for avec fi(isnan()){...}else{...} ? si oui comment on pour évaluer un opérateur ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. XwZ
     
    j'ai oublier : merci d'avance.
    0
    1. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
       
      ba avant de faire le calcul tu traite ta chaine..par contre en javascript j'ai pas de fonction en tete regarde si stringtokeniser ou string.split() fonctionnent..ces fonctions permettent un decoupage facil...
      Sinon il te reste l analyse caractere opas caractere (l'avantage tu pourra verifier la validité d'une operation et faire la reco de l'operateur)

      COIN!
      0
  7. XwZ
     
    ok merci canard007 je regarde ça et je reviendrais si j'ai des problème.
    @++
    0
  8. Marden
     
    Essaie avec :
    function calc() { 
      result = eval(document.post.nom.value); 
      alert("le résultat est " + result); 
    } 

    sans garantie de la validité syntaxique de l'expression.
    0
  9. XwZ
     
    merci ça merche trés trés bien.
    @++
    0
  10. XwZ
     
    slt
    merci beaucoup Canard007 ça marche parfaitement.
    @++
    -1
    1. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
       
      ba je sais^^
      de rien.
      bon courage pour la suite


      COIN!
      0