12. Number.toFixed(0...">
最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • JS十大取整方法

    正文概述 掘金(_风清洋)   2020-12-03   662

    1. parseInt()

    // js内置函数,注意接受参数是string,所以调用该方法时存在类型转换
    parseInt("1.5555") // => 1
    

    2. Number.toFixed(0)

    // 注意toFixed返回的字符串,若想获得整数还需要做类型转换
    1.5555.toFixed(0)  // => "1"
    

    3. Math.ceil()

    // 向上取整
    Math.ceil(1.5555) // => 2
    

    4. Math.floor()

    // 向下取整
    Math.floor(1.5555) // => 1
    

    5. Math.round()

    // 四舍五入取整
    Math.round(1.5555) // => 2
    
    Math.round(1.4999) // => 1
    

    6. Math.trunc()

    // 舍弃小数取整
    Math.trunc(1.5555) // => 1
    

    7. 双按位非取整

    // 利用位运算取整,仅支持32位有符号整型数,小数位会舍弃,下同
    ~~1.5555 // => 1
    

    8. 按位运或取整

    1.5555 | 0  // => 1
    

    9. 按位异或取整

    1.5555^0  // => 1
    

    10. 左移0位取整

    1.5555<<0 // => 1
    

    上述10种取整方法中,最常用的估计是前2种 [我裂开了~~],不过从性能角度看,位运算取整Math函数性能最佳,内置方法parseInt次之,toFixed性能最劣。

    以下是Benchmark测试结果,证明了这点,toFixed性能是最差的:

    darwin x64
    整数取整#getNum1#parseInt x 210,252,532 ops/sec ±2.74% (85 runs sampled)
    整数取整#getNum2#toFixed x 3,281,188 ops/sec ±1.54% (86 runs sampled)
    整数取整#getNum3#Math.ceil x 778,272,700 ops/sec ±3.97% (87 runs sampled)
    整数取整#getNum4#Math.floor x 816,990,140 ops/sec ±0.54% (88 runs sampled)
    整数取整#getNum5#Math.round x 814,868,414 ops/sec ±0.65% (88 runs sampled)
    整数取整#getNum6#Math.trunc x 821,032,596 ops/sec ±0.54% (91 runs sampled)
    整数取整#getNum7#~~num x 813,589,741 ops/sec ±0.67% (90 runs sampled)
    整数取整#getNum8#num | 0 x 815,070,107 ops/sec ±0.65% (90 runs sampled)
    整数取整#getNum9#num ^ 0 x 812,635,464 ops/sec ±0.74% (90 runs sampled)
    整数取整#getNum10#num << 0 x 819,230,753 ops/sec ±0.49% (91 runs sampled)
    Fastest is 整数取整#getNum6#Math.trunc,整数取整#getNum10#num << 0
    

    参考

    developer.mozilla.org/zh-CN/docs/…

    developer.mozilla.org/zh-CN/docs/…

    developer.mozilla.org/zh-CN/docs/…


    起源地下载网 » JS十大取整方法

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元