Addition

Fermé
XwZ - 10 août 2004 à 16:56
 XwZ - 11 août 2004 à 22:06
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 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
10 août 2004 à 17:27
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
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 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
11 août 2004 à 13:42
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
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
j'ai oublier : merci d'avance.
0
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
11 août 2004 à 15:28
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
ok merci canard007 je regarde ça et je reviendrais si j'ai des problème.
@++
0
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
merci ça merche trés trés bien.
@++
0
slt
merci beaucoup Canard007 ça marche parfaitement.
@++
-1
Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
11 août 2004 à 11:50
ba je sais^^
de rien.
bon courage pour la suite


COIN!
0