首頁 >web前端 >js教程 >實例教學介紹JavaScript十大取整方法

實例教學介紹JavaScript十大取整方法

coldplay.xixi
coldplay.xixi轉載
2020-12-03 17:15:354132瀏覽

JavaScript學習教學專欄介紹JavaScript的十大取整方法

實例教學介紹JavaScript十大取整方法

#相關學習推薦: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效能是最糟糕的:

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原始碼

想了解更多程式學習,請關注php培訓專欄!

#

以上是實例教學介紹JavaScript十大取整方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除