Javascript 列表计数的脚本不包括小数
我有一个脚本来计算名为amount的列的所有行的总值。脚本如下:Javascript 列表计数的脚本不包括小数,javascript,html,Javascript,Html,我有一个脚本来计算名为amount的列的所有行的总值。脚本如下: <script> $(document).ready(function() { $('table thead th').each(function(i) { calculateColumn(i); }); }); function calculateColumn(index) { var total = 1; $('table tr').each(function()
<script>
$(document).ready(function() {
$('table thead th').each(function(i) {
calculateColumn(i);
});
});
function calculateColumn(index) {
var total = 1;
$('table tr').each(function() {
var value = parseInt($('td', this).eq(index).text());
if (!isNaN(value)) {
total += value;
}
});
$('table tfoot td').eq(index).text('Total:' + total);
}
$(文档).ready(函数(){
$('table thead th')。每个(函数(i){
计算柱(i);
});
});
函数计算列(索引){
var总计=1;
$('table tr')。每个(函数(){
var value=parseInt($('td',this.eq(index.text());
如果(!isNaN(值)){
总+=价值;
}
});
$('table tfoot td').eq(index).text('Total:'+Total);
}
然而,虽然这很有效,但它不显示小数点。例如,如果表中有一笔2.00英镑的贷记和一笔0.30便士的贷记,则使用上述脚本显示的总额仍然是2.00英镑
这适用于整数,但似乎是四舍五入
有什么想法吗?您使用的是
parseInt
,因此您要去掉小数,请使用parseFloat
,如下所示:
var value = parseFloat($('td', this).eq(index).text());
谢谢你,这很有效。最后一个问题,代码似乎提供了表中所有列的总数,而不仅仅是金额列。例如,它用一个数字合计日期列,但我只希望它对金额列进行合计。在那个代码中可以修复吗?