javascript计算中的nan问题 [英] Nan problem in javascript calculation
问题描述
当我试图清空我的文本框时,我正在获得NaN的价值。为什么我得到这个。
我尝试了什么:
这是我的脚本:
$(#txtSC)。keyup(功能(){b / b
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;
var multply = myBox1 * myBox2;
var per =(multply * mybox3)/ 100;
var myResult = multply + per;
var withDisCount =(myResult * mybox4)/ 100;
var myDiscount = myResult - wi thDisCount;
var ShippingCost = myDiscount +(parseFloat(mybox5));
// var finalResult = Math.round(ShippingCost);
var result = document.getElementById('TotalAmt');
result.value = ShippingCost;
});
在最后一个文本框即mybox5上,当我试图在该文本框中退格时(手动将其设置为空)我的TotalAmt文本框显示NaN值。
i am getting value as NaN.when i try to blank my textbox .why i am getting this.
What I have tried:
THIS IS MY SCRIPT:
$("#txtSC").keyup(function () {
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;
var multply = myBox1 * myBox2;
var per = (multply * mybox3) / 100;
var myResult = multply + per;
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;
});
on last textbox i.e mybox5, when i am trying to backspace in that textbox(making it empty manually) my "TotalAmt" textbox show NaN value.
推荐答案
(\"#txtSC\").keyup(function() $
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;
var multply = myBox1 * myBox2;
var per =(multply * mybox3)/ 100;
var myResult = multply + per;
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值。
("#txtSC").keyup(function () {
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;
var multply = myBox1 * myBox2;
var per = (multply * mybox3) / 100;
var myResult = multply + per;
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;
});
on last textbox i.e mybox5, when i am trying to backspace in that textbox(making it empty manually) my "TotalAmt" textbox show NaN value.
有意义,因为你做的是:
var myDiscount = myResult - withDisCount;
,这将是一个数字,例如:
100.
然后你尝试将其与(parseFloat(mybox5)相加));
但是你的mybox5是空的。而parseFloat('')的结果是NaN。
所以你会得到
100 + NaN
这是NaN
有意义吗?
Make sense, because what you do is this:
var myDiscount = myResult - withDisCount;
and that will be a number for example:
100.
and then you try to sum it with (parseFloat(mybox5));.
However your mybox5 is empty. And result of parseFloat('') is NaN.
so you will make
100 + NaN
which is NaN
make sense?
这篇关于javascript计算中的nan问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!