可能的重复:
JavaScript 的数学被破坏了吗?
我正在尝试将三个输入字段相加,每个字段包含一个 33.3 的值,总计应为 99.9,但它们总计为 99.89999999999999
有人可以解释这是如何发生的。下面是我的代码。提前致谢。
$("#modify-funding input.percentCalc").sumValues()
$.fn.sumValues = function () {
var sum = 0;
this.each(function () {
sum += $(this).fieldVal();
});
return sum;
};
$.fn.fieldVal = function () {
var val;
if ($(this).is(':input')) {
val = $(this).val();
alert("val " + val);
} else {
val = $(this).text();
}
return parseFloat(('0' + val).replace(/[^0-9-\.]/g, ''), 10);
};