2017-09-19 2 views
-1

Je suis en train de faire un peu plus tout en utilisant des variations comme mon numbers (par exemple .: var Total = Purchaseprice + SalesTax [Gardez à l'esprit Purchaseprice = 10 et SalesTax = 1.5]) Je finis toujours avec 101.5 au lieu de 11.5. Je sais que je suis probablement en train de faire quelque chose de mal, mais je ne suis pas sûr de savoir comment faire pour dire ce que je veux ..addition à l'aide Variations

+2

Sans doute les ajouter ensemble comme des chaînes plutôt que des entiers .... – NewToJS

+1

Montrez-nous votre * réelle * code, ne nous décrivez pas votre code. – Amy

+1

Vous ajoutez des chaînes. Essayez de préfixer vos valeurs avec un '+'. – ideaboxer

Répondre

0

Nous avons besoin de voir votre code pour voir comment vous transformez vos nombres en chaînes. Il y a des chances que vous obtenez vos valeurs d'un champ d'entrée, donc je vais deviner que vous faites quelque chose comme ceci:

var firstValue = document.getElementById('firstValueInput').value; 
var secondValue = document.getElementById('secondValueInput').value; 
var total = firstValue + secondValue; 

Si vous faites quelque chose comme ça, alors vous n'êtes pas tenir compte du fait que la propriété value est toujours une chaîne. Les utilisateurs peuvent être en train de taper des nombres, mais ils peuvent également taper des lettres de sorte que la variable est une chaîne pouvant contenir toutes sortes de caractères. Ce que vous devez faire est de valider la saisie de l'utilisateur pour s'assurer qu'ils peuvent seulement entrer des nombres, et ensuite vous devez convertir la chaîne en un nombre une fois que vous savez que la chaîne contient seulement des nombres. Voici comment vous pouvez utiliser la fonction parseInt globale pour convertir à un type de numéro l'entrée de l'utilisateur:

var firstValue = document.getElementById('firstValueInput').value; 
var secondValue = document.getElementById('secondValueInput').value; 
var total = parseInt(firstValue) + parseInt(secondValue); 

Here's a demo.