获取表格单元格中浮点值的总和

时间:2015-05-22 10:57:03

标签: javascript jquery

我有一张罚款人员表:

<tr><td class='fines'>104.20</td></tr>
<tr><td class='fines'>26.40</td></tr>
<tr><td class='fines'>99.14</td></tr>

我想要得到细胞的总和:

var sumFines = "";
$.each($('.fines'),function(){
    alert($(this).html());
    sumFines += parseFloat($(this).html());
})
alert(sumFines);

每个循环中每个警报的结果是单元格中的数字。最终提醒的结果是“NaN”,为什么?

5 个答案:

答案 0 :(得分:2)

当你总结

"" + 120

结果返回一个字符串,你必须加数,所以改变

var sumFines = "";

var sumFines = 0;

答案 1 :(得分:1)

我需要将sumFines的初始值设置为0。

答案 2 :(得分:1)

var sumFines = 0;
$.each($('.fines'),function(){
    alert($(this).html());
    sumFines += parseFloat($(this).html());
})
alert(sumFines);

var sumFines = "";使得sumFines成为一个字符串,这就是你获得NaN的原因,因为你在使用字符串和浮点数进行算术运算,而这些操作无法一起转换。

答案 3 :(得分:1)

如果您想保留.each方法,只需将初始值更改为0。

if searchBar.text != "" {
     query.whereKey("search_text", containsString: searchBar.text.lowercaseString)
       }

该行:

var subtotal = 0;
$('.fines').each(function() {
    subtotal += !isNaN(+$(this).html()) && +$(this).html();
});

alert(subtotal);

声称您正在有效地添加一个数字,否则没有。

小提琴 http://jsfiddle.net/hem7q4fn/2/

答案 4 :(得分:1)

Nan将整个表达减少为NaN 尝试:

!isNaN(+$(this).html()) && +$(this).html();