Posez votre question Signaler

Addition

XwZ - Dernière réponse le 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
Lire la suite 

Addition »

11 réponses
Réponse
+0
moins plus
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!
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
j'ai oublier : merci d'avance.
Canard007 - 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!
Ajouter un commentaire
Réponse
+0
moins plus
ok merci canard007 je regarde ça et je reviendrais si j'ai des problème.
@++
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
merci ça merche trés trés bien.
@++
Ajouter un commentaire
Réponse
-1
moins plus
slt
merci beaucoup Canard007 ça marche parfaitement.
@++
Canard007 - 11 août 2004 à 11:50
ba je sais^^
de rien.
bon courage pour la suite


COIN!
Ajouter un commentaire
Ce document intitulé « addition » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook