Additionner des nombres avec la devise ( le caractère € )
Bonjour tout le monde,
je viens vers vous pour un problème d'addition depuis des chaîne de caractère...
J'ai ceci :
50.05 €;
25.36 €;
J'ai donc utiliser un replace pour remplacer les " €" par rien (donc supprimer les € et espace vide) puis un parseFloat pour les nombre flottant.
Code:
1 2 3 4 5 6 7 8
|
a = "50.05 "
b = "25.36 "
a = parseFloat(a.replace(" ","")); // Aucune erreur et avec un console.log il me met bien 50.05
b = parseFloat(b.replace(" ","")); // Aucune erreur et avec un console.log il me met bien 25.36
alert(a+b); // Résultat 50.0525.36 |
Mon problème est donc que plutôt que d'additionner il concatène ce qui n'est pas l'objectif évidemment...
Quelqu'un aurait déjà eu ce soucis ?
D'avance merci
Reprise message suite à soucis réseau !
Citation:
Envoyé par Gnuum
C'est pour ça que j'ai bien précisé:
(...)
effectivement, mauvaise interprétation de ma part :oops:
Citation:
Envoyé par jreaux62
Si je reprends juste le 1er code :
alert( a+b ); // ici, on a CONCATENATION (des nombres ou chaines)
:nono: le nombre de parenthèses n'influe pas
Code:
1 2 3 4 5 6 7 8 9
| var a = '1';
var b = '2';
alert(a + b); // -> 12
alert((a + b)) // -> 12
a = 1;
b = 2;
alert(a + b); // -> 3
alert((a + b)) // -> 3 |
Citation:
Envoyé par jreaux62
N.B. ...vouloir faire des calculs en JavaScript relève de la psychiatrie ! :scarymov:
c'est peut être un peu exagéré quand même, il n'y a pas que des calculs de panier, mais il est vrai que les calculs, et surtout l'affichage, doivent être fait en connaissance des soucis liés aux flottants, ceci ayant déjà été largement abordés sur le forum.
Le soucis que rencontre splifferwolf n'est visiblement pas un problème d'arrondi mais de bien rendu de résultat et donc
Citation:
Envoyé par NoSmoking
en l'état je ne vois pas de lézard !
on va donc attendre son intervention pour plus ample informations.