0

我有一个产品要添加到商店中,其中有两个input字段priceBasepriceFinal. 一是不含TAX,二是含TAX。

使用此 javascript 函数时:

jQuery(function($){

    var priceBase = $('input[name="mprices[basePrice][]"]', '#productPriceBody');
    var priceFinal = $('input[name="mprices[salesPrice][]"]', '#productPriceBody');
    var priceDiff = priceFinal.val() - priceBase.val();
    var priceTax = priceDiff / priceBase.val();


    alert(priceFinal.val()); // 1.40004
    alert(priceBase.val());  // 1.16667
    alert(priceDiff);        // 0.23333399999999993
    alert(priceTax);         // 0.19999999999999993

});

我想如何将一个priceTax值从0.19999999999999993to舍入0.20?就像你知道的普通数学计算一样,如果它是 4 及以下,它会四舍五入到更低的数字,如果它是 5,它会四舍五入到更高的数字。

提前感谢您的建议。

4

1 回答 1

7

你似乎想要

alert(priceDiff.toFixed(2));

但是您应该在进行数学运算之前解析这些值。它在这里工作是因为你很幸运:

"33"-"12" => "21"
"33"+"12" => "3312"

因此,为了避免将来出现错误(例如,当您使用+而不是-),我建议始终解析字段值:

var priceDiff = parseFloat(priceFinal.val()) - parseFloat(priceBase.val());
于 2013-04-16T12:22:35.450 回答