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

Canard007 Messages postés 5936 Statut Contributeur 215
 
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
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
Canard007 Messages postés 5936 Statut Contributeur 215
 
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
XwZ
 
j'ai oublier : merci d'avance.
0
Canard007 Messages postés 5936 Statut Contributeur 215
 
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
XwZ
 
ok merci canard007 je regarde ça et je reviendrais si j'ai des problème.
@++
0
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
XwZ
 
merci ça merche trés trés bien.
@++
0
XwZ
 
slt
merci beaucoup Canard007 ça marche parfaitement.
@++
-1
Canard007 Messages postés 5936 Statut Contributeur 215
 
ba je sais^^
de rien.
bon courage pour la suite


COIN!
0