使用javascript将逗号后的数字四舍五入

时间:2013-04-16 12:20:35

标签: javascript jquery

我有一个要添加到商店的产品,其中有两个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.19999999999999993四舍五入到0.20?就像普通的数学计算一样,你知道,如果是4及以下,它会向下舍入,如果是5,它会向更高的数字舍入。

提前感谢您的建议。

1 个答案:

答案 0 :(得分:7)

你似乎想要

alert(priceDiff.toFixed(2));

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

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

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

var priceDiff = parseFloat(priceFinal.val()) - parseFloat(priceBase.val());