我有變化的事件以下jQuery函數在一個文本框jQuery的 - 帶小數點的兩數相加給出錯誤的總
$('input:text[id$=txtText1]').change(GetTotal);
這就要求GetTotal功能
function GetTotal() {
var value1 = txtText1.val();
var value2 = txtText2.val();
var sum = add(value1, value2)
$('input:text[id$=txtSubTotals]').val(sum);
}
這是附加功能
function add() {
var sum = 0;
for (var i = 0, j = arguments.length; i < j; i++) {
if (IsNumeric(arguments[i])) {
sum += parseFloat(arguments[i]);
}
}
return sum;
}
在文本框1中,值爲1.45,在文本框2中它是1.44而不是2.89 。我得到下面的值2.8899999999999997
見http://stackoverflow.com/questions/588004/is-javascripts-floating-point-math-broken – j08691 2013-02-13 21:41:36
避免浮點運算 - 如果你真的需要,做「整數」數學上部分(即小數部分前和小數部分後部分)在完成後將它們放回到一起 – kinakuta 2013-02-13 21:42:50