我试图将逗号分隔的div值相加,如果有2个十进制值则将该十进制值相加并显示它是否都有十进制值,然后在最终结果中显示total.00但是我的代码给了我错误的计算
HTML:
<div class=''>432.01</div>
<div class=''>4,12,412.01</div>
<div class=''>4,12,412.01</div>
<div class=''>12,41,241.01</div>
<span></span>
JS:
var sum = 0;
$('div').each(function() {
var val = $(this).text().replace(',', '.');
sum += parseFloat(val, 10);
});
$('span').text('result=' + sum);
答案 0 :(得分:0)
尝试将所有commas
替换为空string
并进行计算,
var sum = 0;
$('span').text('result=' + $('div').get().reduce(function(a,b){
return a + parseFloat(b.textContent.replace(/,/g,""))
},0).toFixed(2));
答案 1 :(得分:0)
你应该在replace方法中使用RegExp来替换字符串中的所有','。
var sum = 0;
$('div').each(function() {
var val = $(this).text().replace(/,/ig, '');
sum += parseFloat(val, 10);
});
$('span').text('result=' + sum);