Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sum of two numbers with prompt

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?

like image 271
user3471329 Avatar asked Mar 28 '14 05:03

user3471329


1 Answers

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.)

like image 81
Ray Toal Avatar answered Oct 04 '22 03:10

Ray Toal