Вопрос:

Получение NaN при расчете

javascript

56 просмотра

2 ответа

16 Репутация автора

Я получаю NaNзначение здесь, когда я пытаюсь ввести некоторое число в моем HTML . Я не знаю почему.

var firstNumber= document.getElementById("numberone").value;
var secondNumber = document.getElementById("numbertwo").value;

function addition(){
  var result = firstNumber + secondNumber;
  document.getElementById("equals").innerHTML = result;
}

function subtraction(){
  var result = firstNumber - secondNumber;
  document.getElementById("equals").innerHTML = result;
}

function multiplication(){
  var result = firstNumber * secondNumber;
  document.getElementById("equals").innerHTML = result;
}
Автор: Ken Источник Размещён: 08.11.2017 11:46

Ответы (2)


1 плюс

51 Репутация автора

Вы должны проанализировать значение из ввода, используя parseInt(value, base), где значение является входным значением и основание базы в математических системах счисления.

var firstNumber = parseInt(document.getElementById("numberone").value, 10);
var secondNumber = parseInt(document.getElementById("numbertwo").value, 10);

Вы можете прочитать больше о здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt

Изменить: я предположил, что вы обрабатываете целочисленные значения, но вы можете попробовать parseFloatобработать значения с плавающей запятой или, также, использовать библиотеку для манипулирования и форматирования чисел, таких как Numeral.js

Автор: Guilherme Augusto Henschel Размещён: 08.11.2017 11:50

0 плюса

23017 Репутация автора

Ваши переменные firstNumberи secondNumberустанавливаются один раз в начале программы (они, скорее всего, будут просто пустыми строками, два входа еще не заполнены ничем к тому времени, когда эти две строки кода, которые их устанавливают, выполняются). Вы должны получать значения всякий раз, когда выполняется одна из функций, которые полагаются на эти значения:

function getValue(id) {
    return +document.getElementById(id).value; // get the value of the input whose ID is id and convert the value to a number using unary +
} 

function addition(){
  var result = getValue("numberone") + getValue("numbertwo"); // use getValue here
  document.getElementById("equals").innerHTML = result;
}

function subtraction(){
  var result = getValue("numberone") - getValue("numbertwo"); // here two
  document.getElementById("equals").innerHTML = result;
}

//...
Автор: ibrahim mahrir Размещён: 09.11.2017 12:01
Вопросы из категории :
32x32