Javascript / Jquery不正确的总和计算

时间:2014-07-08 04:49:55

标签: javascript jquery html asp.net

我正在尝试使用javascript计算一些文本框的总和,但在某些情况下它会给我不准确的结果。

FIDDLE

输入值:234.32和32.34

结果: 266.65999999999997

预期结果: 266.66

代码:

<input type="text" class="unitrate" />
<input type="text" class="unitrate" />
<input type="text" id="txtsum" />    


$(document).on('keyup', ".unitrate", function (e) {
            calculateunitrateSum();
        });


function calculateunitrateSum() {
            var unitratesum = 0;
            $(".unitrate").each(function () {
                //add only if the value is number
                if (!isNaN(this.value) && this.value.length != 0) {
                    unitratesum += parseFloat(this.value);
                }
                else {
                    $(this).val('0')
                }
            });
            $('#txtsum').val(unitratesum);
        }

3 个答案:

答案 0 :(得分:1)

您可以使用toFixed(2)将其四舍五入到所需的位数。

<强> Live Demo

 $('#txtsum').val(unitratesum.toFixed(2));
  

toFixed()方法使用定点表示法格式化数字。

答案 1 :(得分:0)

您可以使用以下方式对数字进行舍入:

Math.round(unitratesum * 100) / 100

<强> Working Demo

答案 2 :(得分:0)

您可以使用toFixed(2)来舍入值。

使用

$('#txtsum').val(unitratesum.toFixed(2));

而不是

$('#txtsum').val(unitratesum);