我用這個代碼來計算的總和:http://jsfiddle.net/QmTNZ/2/jQuery的計算產品x數量的總和
我想修改它,以示0時,有沒有有效的量,或者它是空的,而不是「南」
我還想格式化總和,以逗號後面只有2個數字。
幫助(我是jquery的初學者)。
我用這個代碼來計算的總和:http://jsfiddle.net/QmTNZ/2/jQuery的計算產品x數量的總和
我想修改它,以示0時,有沒有有效的量,或者它是空的,而不是「南」
我還想格式化總和,以逗號後面只有2個數字。
幫助(我是jquery的初學者)。
你可以使用isNaN
函數來檢查一個數字是否實際是一個數字:
if(isNaN(sum)) {
//Show 0
}
else {
//Show the value
}
爲了圓總和爲2位小數,你可以做這樣的事情:
Math.round(sum * 100)/100;
這裏是一個updated fiddle展示它如何工作。
裏面你的循環,你可以用零檢查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)
$("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;
});
要格式化的總和有兩個號碼更改此:
$(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);
這將如果沒有值存在
感謝詹姆斯·阿勒代斯的數量設置爲零,我怎麼可以連接在和TDS的結束符號€? – Bizboss
只需像通常那樣連接它即可。 JavaScript會自動將數字轉換爲字符串:'.text((Math.round(sum * 100)/ 100)+「€」);' –
「」出現爲如下奇怪符號: 我該如何使用html編碼代替使用「€」 感謝您的幫助:) – Bizboss