Как добавить цифры, которые были введены в JavaScript? - PullRequest
0 голосов
/ 04 ноября 2018

Итак, мой код позволяет пользователю вводить 2 цифры, num1 и num2. Однако функция сложения объединяет числа, а не добавляет их. Как я могу это исправить, пожалуйста?

Вот фрагмент функции:

var sum= num1 + num2;
alert(`Sum of ${num1} and ${num2} is ${sum}`);

Ответы [ 5 ]

0 голосов
/ 04 ноября 2018

Другая идея - использовать parseInt ()

const sum = parseInt(num1) + parseInt(num2)
console.log(`Sum of ${num1} and ${num2} is ${sum}`)

здесь рабочий код

let num1 = 50
let num2 = "5" //in case of string value the value will be converted by parseInt()
const sum = parseInt(num1) + parseInt(num2)
console.log(`Sum of ${num1} and ${num2} is ${sum}`)
0 голосов
/ 04 ноября 2018

Вы можете заставить его натянуть строку и использовать "" + num1 + num2

var sum = "" + num1 + num2;
alert('Sum of ${num1} and ${num2} is ${sum}');
0 голосов
/ 04 ноября 2018

вам нужно привести строки к числам, знак + объединяет строки, вот примеры

var sum= Number(num1) + Number(num2);
alert(`Sum of ${num1} and ${num2} is ${sum}`); // Sum of 1 and 2 is 3

или

var sum= +num1 + +num2;
alert(`Sum of ${num1} and ${num2} is ${sum}`); // Sum of 1 and 2 is 3
0 голосов
/ 04 ноября 2018

Это потому, что, хотя тип ввода - число, значение в форме строки, и вместо добавления оно будет объединять значения. Преобразовать их в число перед добавлением

var sum = Number(num1) + Number(num2);
alert(`Sum of ${num1} and ${num2} is ${sum}`);
0 голосов
/ 04 ноября 2018

value имеет тип строка . Вот почему происходит конкатенация строк. Для выполнения арифметической операции необходимо преобразовать значение в число.

Изменение

var sum= num1 + num2;

К

var sum= Number(num1) + Number(num2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...