Jquery数学和方法

时间:2011-07-18 10:12:57

标签: javascript jquery sum

我需要总结一些金钱价值,我有这个HTML

<div class=''>54,44</div>
<div class=''>34,10</div>
<div class=''>44,00</div>
<div class=''>14,50</div>

如何使用这些div文本的总和发出警报? (正确的总和!! ;-)) 非常感谢!

7 个答案:

答案 0 :(得分:11)

添加一些类money(或使用$("div")选择器)并执行以下操作:

var sum = 0;
$(".money").each(function(){
    sum += parseFloat($(this).text().replace(",", "."));
});

alert(sum);

答案 1 :(得分:8)

首先,值得在原始数量的每个div上放置一个数据属性,没有任何特定于语言环境的格式。

例如/

<div data-amount="55.44">54,44</div>

然后假设这些div是可识别的,你可以简单地做

var total = 0;
$('some-selector-for-your-divs').each(function(){
   total += parseFloat($(this).data('amount'));
});
编辑:Duh!关于货币金额的修正问题。

答案 2 :(得分:2)

逗号在Javascript中不是合法的小数点分隔符,因此您必须将逗号转换为小数点:

var sum = 0;

$('div').each(function() {
    var v = $(this).text().replace(',', '.');
    sum += parseFloat(v);
});

alert(sum);

答案 3 :(得分:1)

var sum = 0;
$('div').each(function() {
sum += $(this).text();
});
alert("The sum is "+ sum);

答案 4 :(得分:1)

使用以下代码

   var sum=0;
    $('div').each(function(){
    sum+=parseFloat($(this).text().replace(',','.');
    });

答案 5 :(得分:1)

var sum = 0;
$('div').each(function() {
    var val = $(this).text().replace(',', '.'); // Replace , with .
    sum += parseFloat(val);
});

demo

<强>更新
基地10件事是垃圾。

答案 6 :(得分:-2)

var sum=0;
$('div').each(
    function(){
         sum+=Number($(this).html());
    }         
);
alert(sum  );

不要忘记将数字转换为正确的格式