我想改进此代码http://jsfiddle.net/QmTNZ/30/以使用逗号分隔价格代替点
因为我们可以看到当我们使用例如1 x 375,5时我得到375总和而不是375,5
我的代码:
function ca(){
var $overall = 0;
$("tr.sum").each(function() {
var $qnt = $(this).find(".qty");
var $price = $(this).find("td").eq(1);
console.log($qnt + " | " + $price);
var sum = parseFloat($price.text()) * parseFloat($qnt.val());
if(isNaN(sum)) {
sum = 0;
}
$(this).find("td").eq(2).text(Math.round(sum * 100) / 100);
$overall += sum;
});
$("#total").text($overall);
}
$(function() {
ca();
$('input.qty').bind('change keyup',function(){ca();});
});
答案 0 :(得分:1)
.replace("," , ".")
更多内容阅读:
答案 1 :(得分:0)
在你的html中,使用“,”和“。”
JavaScript使用“。”对于浮点数。 “,”用于枚举。更好地将价格改为xx.yy而不是xx,yy。
例如,这不会起作用
var a = 12,1;
var b = 12.4, c = 0;
c = a + b;
您也可以更改此行(在大多数情况下,对象往往是整数:))
var sum = parseFloat($price.text()) * parseFloat($qnt.val());
到
var sum = parseFloat($price.text()) * parseFloat( parseInt ($qnt.val() ) );
答案 2 :(得分:0)
在分析价格之前将,
更改为.
,并使用.toFixed(2)
强制在结果中输入2位小数。