zoukankan      html  css  js  c++  java
  • 重写toFixed方法——以既可以指定小数位又可返回数字类型

    1、我们知道Math对象里的 Math.round( num ) 方法返回 num 的最接近整数,有一点近似于四舍五入的方法,这个方法只能得到整数。

    2、而 num.toFixed( n )方法返回的是 num 的指定小数位数为 n 的字符串,注意:这里返回的是字符串,其实这个方法还有另一个坑,它无法把整数小数化。比如:你在控制台打印 3.toFixed(2),那么控制台会报错。

    3、所以我们在很多时候需要一种方法既可以指定小数位数,同时又可以返回的是数字,在这里推荐很久以前了解过的一种方法:

    function toFixed(num,d){
    num *=Math.pow(10,d);
    num = Math.round(num);
    return num/(Math.pow(10,d));
    }
     
    4、 Math.pow( num ,a) 方法 返回 num 的 a 次方,所以这里巧妙的利用了这个方法以达成目的。

    5、测试运行结果:

    5.1 console.log( toFixed(123.4567,3) ); 

    5.2 console.log( toFixed(123.4567,0) ); 

    5.3 console.log( toFixed(123.4567,-1) ); 

    我们看到不管是传的正数、0或者是负数,都能够正常的得到结果,所以这种方法特别赞。


    ————————————————
    版权声明:本文为CSDN博主「猛一回头」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/xie_lu/article/details/74075345

  • 相关阅读:
    VC++ 之 文件操作
    Delphi7 API(5) 消息篇:WM_LBUTTONDOWN、WM_LBUTTONUP、WM_MOUSEMOVE
    VC++ 之 输入/输出类库(二)
    VB 访问控制面板
    Delphi7 API(4) 消息_重绘
    Lisp简明教程
    一次快速排序错误引发的思考(2)
    一次快速排序错误引发的思考(1)
    Common Lisp编译程序的小技巧
    暴风影音5免去广告的小技巧
  • 原文地址:https://www.cnblogs.com/javalinux/p/15648988.html
Copyright © 2011-2022 走看看