Jquery求和有逗号的值,如果有小数值则求和

时间:2016-02-28 11:52:24

标签: javascript jquery

我试图将逗号分隔的div值相加,如果有2个十进制值则将该十进制值相加并显示它是否都有十进制值,然后在最终结果中显示total.00但是我的代码给了我错误的计算

JS Fiddle

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);

2 个答案:

答案 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));

DEMO

答案 1 :(得分:0)

你应该在replace方法中使用RegExp来替换字符串中的所有','。

var sum = 0;
$('div').each(function() {
    var val = $(this).text().replace(/,/ig, '');
    sum += parseFloat(val, 10);
});
$('span').text('result=' + sum);