Number.prototype.toFixed=function(d)
{
vars=this"";
if(!d)d=0;
if(s.indexOf(".")==-1)returnthis"";//s=".";
//s=newArray(d1).join("0");
if(newRegExp("^(-¦\\)?(\\d(\\.\\d{0,"(d1)"})?)\\d*$").test(s)){
vars="0"RegExp.$2,pm=RegExp.$1,a=RegExp.$3.length,b=true;
if(a==d2){
a=s.match(/\d/g);
if(parseInt(a[a.length-1])>4){////从最后一位进行5/4
for(vari=a.length-2;i>=0;i--){
a=parseInt(a)1;
if(a==10){
a=0;
b=i!=1;
}elsebreak;
}
}
s=a.join("").replace(newRegExp("(\\d)(\\d{"d"})\\d$"),"$1.$2");
}
if(b)s=s.substr(1);
for(vari=s.length-1;i>s.indexOf(".");i--){
if(s.substr(i,1)=="0")
s=s.substr(0,s.length-1);
elsebreak;
}
return(pms).replace(/\.$/,"");
}
returnthis"";
}
[共享代码]重写JS的toFixed属性,解决JS数值处理精度问题
最新推荐文章于 2024-09-26 18:23:19 发布
本文介绍了一个自定义的 JavaScript 方法,该方法模拟了 Number.prototype.toFixed 的功能,允许开发者指定数字的小数位数,并进行了相应的四舍五入处理。此实现考虑了正负数及小数点后的数字变化。
1506

被折叠的 条评论
为什么被折叠?



