我有一个要添加到商店的产品,其中有两个input
字段priceBase
和priceFinal
。首先是没有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.19999999999999993
四舍五入到0.20
?就像普通的数学计算一样,你知道,如果是4及以下,它会向下舍入,如果是5,它会向更高的数字舍入。
提前感谢您的建议。
答案 0 :(得分:7)
你似乎想要
alert(priceDiff.toFixed(2));
但是你应该在做数学之前解析这些值。它在这里工作,因为你很幸运:
"33"-"12" => "21"
"33"+"12" => "3312"
因此,为了避免将来出现错误(例如,当您使用+
代替-
时)我建议始终解析字段值:
var priceDiff = parseFloat(priceFinal.val()) - parseFloat(priceBase.val());