2010-12-10 103 views

回答

20

$(this).temp1()看起來特別出位,我覺得你只是爲了使用temp1變量。因爲它已經是一個數,你不需要它要麼使用parseFloat

$("#discount").change(function() { 
    var list = $("#list").val(); 
    var discount = $("#discount").val(); 
    var price = $("#price"); 
    var temp = discount * list; 
    var temp1 = list - temp; 
    var total = temp1.toFixed(2); 

    price.val(total); 
}); 
3

我會建議你將字符串轉換爲計算之前,第一個數字。例如,

var list = parseFloat($("#list").val()); 
var discount = parseFloat($("#discount").val()); 
var price = $("#price"); 
var total = list - (discount * list); 
price.val(total.toFixed(2)); 

而且,如果折扣百分比(例如說25),那麼你必須通過100即list - (discount/100 * list)

BTW來劃分,請參閱本SO線程,人們已經對ToFixed使用警告:How to format a float in javascript?

+1

應該是total.toFixed(2)not total.ToFixed(2) – JasonH 2016-03-11 15:00:52