问题:
通过JqGrid的$("#table_id").getCol('colModel的name', false, 'sum');获取时会出现浮点数精度问题!
解决方案:
1.自定义Math.add方法实现精确加法
Math.add = function(v1, v2)
{
var r1, r2, m;
try
{
r1 = v1.toString().split(".")[1].length;
}
catch (e)
{
r1 = 0;
}
try
{
r2 = v2.toString().split(".")[1].length;
}
catch (e)
{
r2 = 0;
}
m = Math.pow(10, Math.max(r1, r2));
return (v1 * m + v2 * m) / m;
}
=======================================上面是单独的方法,下面是一体的================================================= 2.在jqGrid初始化方法中加入代码,格式如下: $("#table_id").jqGrid({
gridComplete: function () {
//将第3步到第5步复制到此方法中; }
}); 3.获取jqGrid的所有表数据 var jq_tables = $("#table_id").jqGrid("getRowData");
4.遍历jq_tables表格中的每一行数据,并获取每一个字段的值;
var num = 0;
for(var i=0;i<jq_tables.length;i++){
//jq_tables[i].字段名 获取每一行的指定字段的值
num = Math.add(num,parseFloat(jq_tables[i].字段名)==null?0:jq_tables[i].字段名);
}
5.添加到jqGrid表格的底部
$(this).footerData("set",{"cloModel字段名":"合计","cloModel字段名":num});
致此,就解决了JqGrild底部合计浮点数问题!
转载请注明原文地址: https://ju.6miu.com/read-23542.html