2011-07-11 54 views

回答

1

你可以使用isNaN函數來檢查一個數字是否實際是一個數字:

if(isNaN(sum)) { 
    //Show 0 
} 
else { 
    //Show the value 
} 

爲了圓總和爲2位小數,你可以做這樣的事情:

Math.round(sum * 100)/100; 

這裏是一個updated fiddle展示它如何工作。

+0

感謝詹姆斯·阿勒代斯的數量設置爲零,我怎麼可以連接在和TDS的結束符號€? – Bizboss

+0

只需像通常那樣連接它即可。 JavaScript會自動將數字轉換爲字符串:'.text((Math.round(sum * 100)/ 100)+「€」);' –

+0

「」出現爲如下奇怪符號: 我該如何使用html編碼代替使用「€」 感謝您的幫助:) – Bizboss

3

裏面你的循環,你可以用零檢查NaN,並替換:

if(isNaN(sum)) sum = 0; 

四捨五入,使用此功能:

function roundNumber(num, dec) { 
    var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec); 
    return result; 
} 

sum = sum.roundNumber(sum, 2) 
1

演示:http://jsfiddle.net/gN3Te/

$("tr.sum").each(function() { 

    var $qnt = $(this).find(".qty"); 
    var $price = $(this).find("td").eq(1); 

    console.log($qnt + " | " + $price); 

    var q = $qnt.val(); 
    if (isNaN($qnt.val()) || $qnt.val() == '') q = 0; 

    var sum = parseFloat($price.text()) * parseFloat(q); 

    $(this).find("td").eq(2).text(sum.toFixed(2)); 

    $overall += sum; 

}); 
1

要格式化的總和有兩個號碼更改此:

$(this).find("td").eq(2).text(sum); 

到:

$(this).find("td").eq(2).text(sum.toFixed(2)); 

然後添加此

if(isNaN($qnt.val()) || $qnt.val() == "") 
      $qnt.val(0); 

這將如果沒有值存在