重複の可能性:
JavaScriptの数学は壊れていますか?
3つの入力フィールドを合計しようとしています。各入力フィールドには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);
};