I've been trying to solve this problem for the last couple days: when I subtract, multiply or divide 2 numbers input through a prompt, everything works fine; but when I want to add them, I get the 2 numbers simply written together.
Example: if I add 5 and 6, I get 56!!
Here's the code I'm working with.
var a = prompt("Enter first number");
var b = prompt("Enter second number");
alert(a + b);
What am I doing wrong? Do I have to specify the value type?
The function prompt
returns a string and +
is (unwisely, perhaps) used for both string concatenation and number addition.
You do not "specify types" in JavaScript but you can do string to number conversion at run time. There are many ways to so this. The simplest is:
var a = +prompt("Enter first number");
var b = +prompt("Enter second number");
alert(a + b);
but you can also do
var a = Number(prompt("Enter first number"));
var b = Number(prompt("Enter second number"));
alert(a + b);
(Avoid parseInt
because it only handles the leading characters and will not add numbers like 4.5 and 2.6.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With