首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

解决js浮点数的加法精度异常

2012-11-22 
解决js浮点数的加法精度错误被提了一个Bug单,表征为在Grid的合计栏中,319.57+500819.569999999999999。查

解决js浮点数的加法精度错误
    被提了一个Bug单,表征为在Grid的合计栏中,319.57+500=819.569999999999999。查了一下,应该是js的浮点数相加的精度有问题。修改代码如下:

//解决js浮点数的加法精度错误function FloatAdd(arg1,arg2){    var r1,r2,m;    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}    m=Math.pow(10,Math.max(r1,r2))    return (arg1*m+arg2*m)/m}Ext.ux.grid.GridSummary.Calculations = {  'sum' : function(v, record, field) {    return FloatAdd(v,Ext.num(record.data[field], 0));  },

热点排行