toFixed内置四舍五入错误
Posted 亲爱的混蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了toFixed内置四舍五入错误相关的知识,希望对你有一定的参考价值。
var a = 2.255; var b = a.toFixed(2); console.log(b);
以上代码,按预期正常四舍五入得到结果应该是2.26,但实际返回值为2.25
js浮点数精度作为前端必踩坑,谁也逃不过,不过我们可以改写原型上的方法达到目的
Number.prototype.toFixed=function(len){ var add = 0; var s,temp; var s1 = this + ""; var start = s1.indexOf("."); if(s1.substr(start+len+1,1)>=5)add=1; var temp = Math.pow(10,len); s = Math.floor(this * temp) + add; return s/temp; } var a = 2.255; var b = a.toFixed(2); console.log(b); 返回2.26
以上是关于toFixed内置四舍五入错误的主要内容,如果未能解决你的问题,请参考以下文章