我有一个产品要添加到商店,那里有两个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
});
Run Code Online (Sandbox Code Playgroud)
我怎么想将priceTax值舍入0.19999999999999993到0.20?就像普通的数学计算一样,你知道,如果它是4及以下,它会向下舍入,如果它是5,它会向更高的数字舍入.
提前感谢您的建议.
你似乎想要
alert(priceDiff.toFixed(2));
Run Code Online (Sandbox Code Playgroud)
但是你应该在做数学之前解析这些值.它在这里工作,因为你很幸运:
"33"-"12" => "21"
"33"+"12" => "3312"
Run Code Online (Sandbox Code Playgroud)
所以为了避免将来的错误(当你使用+而不是-例如)我建议总是解析字段值:
var priceDiff = parseFloat(priceFinal.val()) - parseFloat(priceBase.val());
Run Code Online (Sandbox Code Playgroud)