JavaScript十大取整方法实例教程
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性能是最差的:
darwinx64 整数取整#getNum1#parseIntx210,252,532ops/sec±2.74%(85runssampled) 整数取整#getNum2#toFixedx3,281,188ops/sec±1.54%(86runssampled) 整数取整#getNum3#Math.ceilx778,272,700ops/sec±3.97%(87runssampled) 整数取整#getNum4#Math.floorx816,990,140ops/sec±0.54%(88runssampled) 整数取整#getNum5#Math.roundx814,868,414ops/sec±0.65%(88runssampled) 整数取整#getNum6#Math.truncx821,032,596ops/sec±0.54%(91runssampled) 整数取整#getNum7#~~numx813,589,741ops/sec±0.67%(90runssampled) 整数取整#getNum8#num|0x815,070,107ops/sec±0.65%(90runssampled) 整数取整#getNum9#num^0x812,635,464ops/sec±0.74%(90runssampled) 整数取整#getNum10#num<<0x819,230,753ops/sec±0.49%(91runssampled) Fastestis整数取整#getNum6#Math.trunc,整数取整#getNum10#num<<0
Benchmark源代码
参考
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
developer.mozilla.org/zh-CN/docs/…
到此这篇关于JavaScript十大取整方法的文章就介绍到这了,更多相关JS取整方法内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!