Num不适用于我的javascript

时间:2015-03-26 15:35:34

标签: javascript jquery

在我的JQuery脚本中,parseFloat无效。

例如,当价格为1时,数量为1但是当我添加百分比而不是1.21时,它显示为10.21。

function update_price() {
    var row = $(this).parents('.item-row');
    var row = $(this).parents('.item-row');
    var price = row.find('.cost').val();
    var qty = row.find('.qty').val();
    var Bedrag = parseFloat(price * qty);
    var percentage = parseInt($('.btw').val());
    var BtwPercentage = parseFloat(Bedrag * (percentage / 100));
    var InclBtw = parseFloat(price + BtwPercentage);
    isNaN(price) ? row.find('.price').html("N/A") : row.find('.price').html("" + InclBtw);
}

2 个答案:

答案 0 :(得分:4)

替换:

var InclBtw = parseFloat(price + BtwPercentage);

使用:

var InclBtw = parseFloat(price) + parseFloat(BtwPercentage);

否则,您正试图在parseFloat

string + string

答案 1 :(得分:2)

组合字符串和数字,你应该总是解析它。 您没有看到类型,但javascript是强类型的。 所以我会像这样解析价格和数量:

   function update_price() {
        var row = $(this).parents('.item-row');
        var price = parseFloat(row.find('.cost').val());
        var qty = parseFloat(row.find('.qty').val());
        var Bedrag = parseFloat(price * qty);
        var percentage = parseInt($('.btw').val());
        var BtwPercentage = parseFloat(Bedrag * (percentage / 100));
        var InclBtw = parseFloat(price + BtwPercentage);
        isNaN(price) ? row.find('.price').html("N/A") : row.find('.price').html("" + InclBtw);
    }