JavaScript 十大取整方法详解与性能对比

作者:寒星

时间:2026-10-24

浏览:397

本文系统梳理JavaScript中10种常见的数值取整方式,涵盖内置函数parseInt、toFixed以及Math系列的ceil、floor、round、trunc,还包括双按位非、按位或、异或及左移0位等位运算技巧。通过Benchmark测试数据对比发现,Math函数与位运算性能最优,而toFixed执行效率最低。

文章目录

JavaScript常用取整方法汇总

第一种方法是使用parseInt()函数。


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

第二种方法利用Number.toFixed(0)。


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

第三种方法采用Math.ceil()进行向上取整。


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

第四种方法使用Math.floor()进行向下取整。


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

第五种方法为Math.round(),实现四舍五入取整。


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

Math.round(1.4999) // => 1

第六种方法是Math.trunc(),直接舍弃小数部分取整。


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

第七种技巧是使用双按位非(~~)进行取整。


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

第八种技巧是通过按位或运算(|)实现取整。


1.5555 | 0 // => 1

第九种技巧利用按位异或运算(^)完成取整。


1.5555^0 // => 1

第十种技巧是将数值左移0位(<< 0)进行取整。


1.5555<<0 // => 1

各类取整方法的性能对比分析

在上述10种取整方法中,日常开发中最常用的估计是前两种,但从性能角度分析,位运算取整和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

以下是Benchmark测试的源代码。

参考资源。

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

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

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

到此这篇关于JavaScript十大取整方法的文章就介绍到这了,更多相关JS取整方法内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章