第七课:数值以及函数的扩展和修复

版权声明: https://blog.csdn.net/weixin_41979981/article/details/79955853

1.数值扩展和修复

toFixed(num) 方法可把 Number 四舍五入为指定小数位数的数字。num必需,规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。

但在有些浏览器下不会这样干,于是修复:

if(0.9.toFixed(0) !==’1’){

  Number.prototype.toFixed = function(n){

    var power = Math.pow(10,n); //Math.pow(x,y),返回 x 的 y 次幂的值

    var fixed = (Math.round(this*power) / power).toString(); //把一个数字舍入为最接近的整数。比如:0.5->1,0.4->0

    if(n == 0)  return fixed; //当n等于0时,就直接调用round方法,把num四舍五入为最接近num的整数

    if(fixed.indexOf(‘.’)<0)  fixed + = ‘.’; //如果是整数,并且n>0,那么需要添加n位小数。所以先添加小数点.

    var padding = n+1 - (fixed.length - fixed.indexOf(‘.’)); //小数点后面必须有n个数字。没有就用0填补

    for(var i=0;i

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页