2013-04-16 81 views
0

我有一個產品要添加到商店中,其中有兩個input字段priceBasepriceFinal。首先是沒有稅,其次是稅。用逗號後的數字在兩位數內舍入javascript

在使用本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 

}); 

我怎麼想從一個0.19999999999999993priceTax四捨五入到0.20?如同正常的數學計算,你知道,如果它是4或更低,則它會降低,如果它是5,則數字越大。

感謝您提前提出建議。

回答

7

你似乎想

alert(priceDiff.toFixed(2)); 

但你是做數學之前,應分析該值。它的工作原理在這裏,因爲你是幸運的:

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

因此,爲了避免在未來的錯誤(當你使用+代替-例如)我總是建議把解析的字段值:

var priceDiff = parseFloat(priceFinal.val()) - parseFloat(priceBase.val()); 
相關問題