Jquery 对具有逗号的值求和,如果有十进制值则求和

Jquery Sum the value which has comma and if has decimal value then sum

本文关键字:求和 如果 十进制 Jquery      更新时间:2023-09-26

我正在尝试对逗号分隔的div 值求和,如果有 2 个十进制值,则对该十进制值求和,并显示如果它都没有十进制值,然后在最终结果中显示 total.00,但我的代码给了我错误的计算。

JS小提琴

.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);
尝试将所有

commas替换为空string并进行计算,

var sum = 0;
$('span').text('result=' + $('div').get().reduce(function(a,b){
  return a + parseFloat(b.textContent.replace(/,/g,""))
},0).toFixed(2));

演示

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

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