Home > Web Front-end > JS Tutorial > body text

Example tutorial introduces the top ten rounding methods in JavaScript

coldplay.xixi
Release: 2020-12-03 17:15:35
forward
4092 people have browsed it

JavaScript Learning TutorialThe column introduces the top ten rounding methods of JavaScript

Example tutorial introduces the top ten rounding methods in JavaScript

Related learning recommendations: javascript Learning Tutorial

1.parseInt()

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

2. Number.toFixed(0)

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

3. Math.ceil()

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

4. Math.floor()

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

5. Math.round()

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

Math.round(1.4999) // => 1
Copy after login

6. Math.trunc()

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

7. Double bitwise not Rounding

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

8. Bitwise OR rounding

1.5555 | 0 // => 1
Copy after login

9. Bitwise XOR rounding

1.5555^0 // => 1
Copy after login

10. Left shift 0 bits rounding

1.5555<<0 // => 1
Copy after login

Among the above 10 rounding methods, the most commonly used are estimated to be the first two [I am split~~], but from a performance perspective, bit operation rounding and Math functions have the best performance, and the built-in method parseInt times In short, toFixed has the worst performance.

The following are the Benchmark test results, which prove this, toFixed performance is the worst:

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
Copy after login

Benchmark source code

Want to learn more about programming, Please pay attention to the php training column!

The above is the detailed content of Example tutorial introduces the top ten rounding methods in JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:jb51.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!