1

この関数は、動的テーブルによって借方番号の合計を計算します。問題は、それが であるということ2.6 + 2.1 = 4.00です4.70

function debitvalues() {
    var debittotal = 0;
    var obj = document.getElementsByTagName("input");
    for (var i = 0; i < obj.length; i++) {
        if (obj[i].name == "debit[]") {
            if (obj[i].value > 0) {
                debittotal += parseInt(obj[i].value * 1);
            } else {
                obj[i].value = 0;
                debittotal += parseInt(obj[i].value * 1);
            }
        }
    }
    document.getElementById("debittotal").value = (debittotal * 1).toFixed(2);
    debittotal = 0;
}
4

1 に答える 1

5

に解析するint必要があるときに解析しfloatます:

parseInt(obj[i].value*1)

parseInt=>parseFloat

parseInt自然数NparseFloat与えますが、実数Rを与えます。

ところで、xを 1 倍すると、まったく同じ x の数が得られるので、電卓はスキップできると思います...

parseInt(obj[i].value*1) => parseFloat(obj[i].value)
于 2013-03-02T17:31:02.823 に答える