adition en javascript - HTML/CSS - Programmation
Marsh Posté le 01-12-2004 à 17:09:21
Salut,
Les valeurs de champs sont des String. Il est donc normal que "22" + "5" fasse "225".
En faisant parseInt(a) + parseInt(b) tu obtiendras le bon résultat (conversion a la volée en integer). Je te recommande de faire la même chose pour la soustraction, c'est plus carré...
Marsh Posté le 01-12-2004 à 19:56:31
Parfait ça marche génial, j'ai fait ça
Code :
|
Mais j'ai un autre problème maintenant car si un champs est vide, le champ s total2 me donne la valeur "NaN"
Marsh Posté le 02-12-2004 à 10:16:43
http://www.toutjavascript.com/refe [...] parent=210
Sinon tu peux aussi tester que le champ est vide...
Marsh Posté le 02-12-2004 à 15:02:25
J'avoue ne pas être un génie en javascript, si je fais le test avec isNaN, comment je gère le resultats ?
J'ai essayé ça, à marche pas, je vois pas trop comment l'utilise.
Code :
|
Marsh Posté le 02-12-2004 à 15:33:10
faut que tu testes tes valeurs avant de faire le calcul. la fonction isNaN() renvoie un boolean, il me semble.
Marsh Posté le 02-12-2004 à 15:41:00
Je voudrais bien tester mais je ne sais pas comment faire, je suis néophite dans ce genre de programmation.
Si pouviez me donner un peu plus de détails, ça m'aiderai beaucoup
NB: Je cherche ce code pour améliorer un logiciel libre http://www.phppointofsale.com/, pour le php c'est ok mais pour le javascript je crains à mort.
Donc si vous m'aidez, vous aidez les logiciels libre
Marsh Posté le 02-12-2004 à 15:42:50
1. merci de mettre ton code entre balises [ cpp ] et [ /cpp ]
2. si tu lis la page dont je t'ai donné l'url, tu verras que la méthode isNaN retourne un booleen : true si la variable est numérique, false sinon.
Donc quand tu fais a= isNaN(form.c.value), a vaut true ou false.
Il faut donc plutot faire par exemple :
Code :
|
edit: balises foireuses
Marsh Posté le 02-12-2004 à 15:55:42
Je fais le code suivant et j'ai toujours NaN Si je ne rempli pas un input
Code :
|
Marsh Posté le 02-12-2004 à 15:57:20
mets isNaN(form.c.value) au lieu de (isNaN(form.c.value) == false)
Marsh Posté le 02-12-2004 à 16:00:41
Le code suivant ne marche pas non plus
Code :
|
Marsh Posté le 02-12-2004 à 16:02:40
argggg mets les parenthèses qd mm :
(isNaN(form.c.value))
Marsh Posté le 02-12-2004 à 16:07:35
J'ai trouvé grâce à vous j'ai juste inversé 2 lignes, merci à tous
Code :
|
Marsh Posté le 02-12-2004 à 16:12:54
lol c'est l'inverse isnan = n'est pas un nombre
donc isnan(12) renverra false
Marsh Posté le 02-12-2004 à 16:14:41
esrevni a écrit : lol c'est l'inverse isnan = n'est pas un nombre |
Merci beaucoup je venais de le découvrir juste avant, j'ai modifié le post juste avant ton message.
Encore merci à tous
Marsh Posté le 02-12-2004 à 20:45:05
Rebonjour,
J'ai retrouvé un problème, si un champs <input> n'existe pas dans mon code, le script ne fonctionne pas. Je n'ai pas trouvé de commande exist dans le site http://www.toutjavascript.com/reference/refe [...] ref=isNaN&parent=210
Comment faire pour que le code marche ?
Marsh Posté le 03-12-2004 à 18:02:43
Finalement, j'ai toujours un problème, je voudrais qu'il y ai 2 décimales.
J'ai remplacé parseInt par parseFloat mais je ne sais pas le limité à 2 décimales.
Est-ce possible ?
Marsh Posté le 06-12-2004 à 10:12:04
déjà traité il y a peu
http://forum.hardware.fr/forum2.ph [...] subcat=389
Marsh Posté le 01-12-2004 à 16:13:14
Salut, j'ai le code suivant, quand je met c = a-b;, ça me fait 22-5=17 et quand je fait c = a+b; ça me donne 22+5=225.
Comment je dois faire pour faire une addition normale ?
Message édité par hyptos le 02-12-2004 à 16:01:23