Javascript Addition [Résolu]

cs_Dfx4 31 Messages postés dimanche 17 avril 2005Date d'inscription 27 février 2006 Dernière intervention - 5 juin 2005 à 23:26 - Dernière réponse : hichamait 1 Messages postés samedi 31 janvier 2009Date d'inscription 1 février 2009 Dernière intervention
- 1 févr. 2009 à 12:12
Bonjour,

j'ai trouvé plein de sujet sur l'addition mais aucun sur mon problème !!

Alors le voici :

Pour effectuer une addition que j'ai pris d'une variable qui ne proviens pas d'un formulaire mais qui est passé par multiple addition !!

Je fais moi normalement pour ne pas me compliquer : ntotal += n1

Sa n'as pas marché alors j'ai essayé : ntotal = ntotal + n1

Le résultats que cela me donnait, à la place de l'additionné il m'as donns un ajout, je m'explique :

Ce que j'éspèrais :var ntotal 5, n1 3;
ntotal += n1 // Aurais du me donner 8

Mais sa me donne -->> 53, il a ajouté le chiffres à la place de l'additionner !


Que faire ??? Help me !!!
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_algori 870 Messages postés dimanche 26 décembre 2004Date d'inscription 26 février 2008 Dernière intervention - 5 juin 2005 à 23:38
3
Merci
Salut,
Essaie :
ntotal += eval(n1);
OU
ntotal += parseFloat(n1);
Maintenant ça devrais marcher.
Ton problème vient du fait que n1 contient une chaine de caractère au lieu d'un nombre. Il ne va donc pas faire une addition avec un nombre et une chaine de caractère mais une concaténation.
@++

Merci cs_algori 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_algori
Meilleure réponse
Phil_Free 280 Messages postés samedi 4 juin 2005Date d'inscription 28 avril 2006 Dernière intervention - 5 juin 2005 à 23:49
3
Merci
Javascript ne fait pas vraiment de différence entre les variables STRING et les variables numériques.



a = 5



signifie aussi:



a = "5"



D'où si

b = 3



a + b = "53"

Merci Phil_Free 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Phil_Free
cs_Dfx4 31 Messages postés dimanche 17 avril 2005Date d'inscription 27 février 2006 Dernière intervention - 5 juin 2005 à 23:43
0
Merci
Mais de quoi cela vient-il ?? Je comprends pas ??
Commenter la réponse de cs_Dfx4
cs_Dfx4 31 Messages postés dimanche 17 avril 2005Date d'inscription 27 février 2006 Dernière intervention - 5 juin 2005 à 23:53
0
Merci
Merci, la réponse accépté vas de même pour algori !!
Commenter la réponse de cs_Dfx4
cs_algori 870 Messages postés dimanche 26 décembre 2004Date d'inscription 26 février 2008 Dernière intervention - 5 juin 2005 à 23:56
0
Merci
Sans voir le code, difficile à dire. Je suppose que la variable n1 doit contenir une chaine de caractère, par exemple n1 = "45";
Il faut savoir que les opérateurs de calcul de Javascript ne permettent de calculer que des nombres, n1="45" n'est pas un nombre mais une chaine de caractère (en C++, la syntaxe est char lettre[] ). Il faut aussi savoir que l'opérateur d'addition pour un nombre a le même symbole que l'opérateur de concaténation de chaines de caractères.
Ainsi :
n1 = 3;
n2 = 2;
n3 = n1 + n2; //le résultat de l'addition est 5

Mais
n1 = 3;
n2 = "2"; //la variable contient une chaine de caractère
n3 = n1 + n2; //Attention, ce n'est plus une addition mais une concaténation, le résultat est "32".
En général, on utilise la fonction eval() pour transformer une chaine de caractère en nombre.
@++
Commenter la réponse de cs_algori
cs_algori 870 Messages postés dimanche 26 décembre 2004Date d'inscription 26 février 2008 Dernière intervention - 5 juin 2005 à 23:57
0
Merci
Ah mince, j'étais en train d'écrire le message
Commenter la réponse de cs_algori
cs_Dfx4 31 Messages postés dimanche 17 avril 2005Date d'inscription 27 février 2006 Dernière intervention - 6 juin 2005 à 00:03
0
Merci
Lol !!



Enfaite mon variable proviens au début de prompt() !!
Commenter la réponse de cs_Dfx4
hichamait 1 Messages postés samedi 31 janvier 2009Date d'inscription 1 février 2009 Dernière intervention - 1 févr. 2009 à 12:12
0
Merci
salut voila 1 exemple pour faire une addition et multiplication par la fonction  prompt :
<html>
<head>
</head>

<script language=javascript>
var a=[],b=[],c=[],n;
n=prompt("donner un nombre de calcul");
for(i=1;i<=n;i++)
a[i]=prompt("donner la "+i+" a");
for(i=1;i<=n;i++)
b[i]=prompt("donner la "+i+" b");
for(i=1;i<=n;i++)
c[i]=eval(a[i])+eval(b[i]);
for(i=1;i<=n;i++)
alert("la "+i+" somme est "+c[i]+" ");
for(i=1;i<=n;i++)
document.write(" la "+i+" somme est "+c[i]+"
");
</script>

</html>
et pour faire une + et * par exemple dans la ligne  c[i]=eval(a[i])+eval(b[i]); de programme tu peux ecrire :  c[i]=(eval(a[i])+eval(b[i]))*n;  ici on multiplie la somme par le nombre de calcul
j'espère que j'ai donné la réponse que tu cherches..
bonne chance
Commenter la réponse de hichamait

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.