以下代码主要来源于网上.本人只是对其进行部分修改:
实现功能是对数值小数精度进行截取处理,包含了截取后后面一位的四舍五入(源算法),
及去除截取后,若小数点后出现多个零时进行删除.
如:
处理前888.8000;处理后是888.8;
Number.prototype.toFixed = function(d) { var s=this+""; if(!d)d=0; if(s.indexOf(".")==-1)return this+"";//s+="."; //s+=new Array(d+1).join("0"); if (new RegExp("^(-|\\+)?(\\d+(\\.\\d{0,"+ (d+1) +"})?)\\d*$").test(s)){ var s="0"+ RegExp.$2, pm=RegExp.$1, a=RegExp.$3.length, b=true; if (a==d+2){ a=s.match(/\d/g); if (parseInt(a[a.length-1])>4){ ////从后面一位进行5/4 for(var i=a.length-2; i>=0; i--){ a[i] = parseInt(a[i])+1; if(a[i]==10){ a[i]=0; b=i!=1; }else break; } } s=a.join("").replace(new RegExp("(\\d+)(\\d{"+d+"})\\d$"),"$1.$2"); } if(b)s=s.substr(1); for(var i = s.length - 1; i > s.indexOf("."); i--){ if(s.substr(i,1) == "0") s=s.substr(0,s.length - 1); else break; } return (pm+s).replace(/\.$/, ""); } return this+""; }
评论加载中...
|
Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明