Member 12385326 Ответов: 1

Проблема Nan в вычислении javascript


я получаю ценность Как Нэн.когда я пытаюсь очистить свое текстовое поле, почему я получаю это.

Что я уже пробовал:

ЭТО МОЙ СЦЕНАРИЙ:

$("#txtSC"). keyup (функция () {


var myBox1 = document. getElementById ('box1'). value;
var myBox2 = document. getElementById ('box2'). value;
var mybox3 = document. getElementById ('box3'). value;
var mybox4 = document. getElementById ('txtDiscount'). value;
var mybox5 = document. getElementById('txtSC'). value;

ВАР умножить = myBox1 * myBox2;
ВАР в = (умножить * mybox3) / 100;
ВАР myResult = умножить + на;
var withDisCount = (myResult * mybox4) / 100;
var myDiscount = myResult - withDisCount;
var ShippingCost = myDiscount + (parseFloat(mybox5));

// var finalResult = Math. round(ShippingCost);
var result = document. getElementById ('TotalAmt');

result. value = ShippingCost;




});


в последнем текстовом поле, то есть mybox5, когда я пытаюсь вернуться в это текстовое поле(делая его пустым вручную), мое текстовое поле "TotalAmt" показывает значение NaN.

1 Ответов

Рейтинг:
0

xszaboj

Это имеет смысл, потому что то, что вы делаете, это:
var myDiscount = myResult - withDisCount;
и это будет число например:
100.
а затем вы пытаетесь суммировать его с помощью (parseFloat(mybox5));.
Однако ваш mybox5 пуст. А результат parseFloat (") - это NaN.
так что вы сделаете
100 + НАН
а это Нэн

есть смысл?


Sergey Alexandrovich Kryukov

Мой 5.
Абсолютно. NaN - это не "проблема", а действительный объект в этом и многих других случаях. Все как раз наоборот: если бы синтаксический анализ пустой строки, или null, или undefined, или invalid string вернул 0 (как многие думали, они хотели), это было бы реальной проблемой.
—СА