在JS中乘法后的奇怪结果

时间:2017-01-09 20:18:51

标签: javascript jquery html

我有一个网站执行以下操作:

01)从JSON url(多维JSON)动态地将数据加载到HTML表中。这些数据仅用于创建网站。

02)页面顶部有两个过滤器。一个用于名称(第一列),它是多选择性的,第二个用于3d列中的数字。

03)有乘法功能。因此,输入框中的数字将乘以3d列的值。然后从前一个乘法结果中提取输入框中的值。最终结果显示在名为“Profit”的列上。

问题 是此链接中的结果:LINK,更具体地说,第一行中的结果不是预期的结果:

enter image description here

结果应为(2*1.91) - 1.91 = 1.91

乘法脚本在这里:

//Multiplication of the cells function
function multInputs() {
    var mult = 0;
    $("tr").each(function() {
        var $val1 = $('.metric1', this).val();
        var $val2 = $('.metric2', this).text();
        var $total = ($val1 * 1) * $val2 - $val1;
        $('.multTotal', this).text($total.toPrecision(3));

        var $val3 = $('.multTotal', this).text();
        var $total2 = $val3 / 100
        $('.metric3-100', this).text($total2.toPrecision(3));

        var $total3 = $val1 / 100
        $('.metric1-100', this).text($total3.toPrecision(2));

        mult += $total;
    });
}

但我猜它会干扰.js文件,因为它有更多正在运行的函数。

1 个答案:

答案 0 :(得分:1)

通过此调试,我认为您希望为$val2减去$val1而不是$total

enter image description here

第75行应该是:var $total = ($val1 * 1) * $val2 - $val2;