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源代码

参考

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

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

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

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

(0)

相关推荐

  • JavaScript中使用Math.floor()方法对数字取整

    此方法返回比最大的整数小于或等于参数 语法 Math.floor( x ) ; 下面是参数的详细信息: x : 一个数字 返回值: 返回比最大的整数小于或等于一个数x 例子: <html> <head> <title>JavaScript Math floor() Method</title> </head> <body> <script type="text/javascript"> var valu

  • js 小数取整的函数

    1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4,向下取整 js: Math.floor(7/2)

  • JavaScript的parseInt 取整使用

    Java 也有 Integer.parseInt() 方法, 但是 JavaScript 的 parseInt 处理方式与 Java 等强整型语言不太一样, 所以经常有人因为对这个方法的使用不当而获得异常返回. 下面是一段 Java 代码, 用于将字符串 020 转为整型. 复制代码 代码如下: public class Test { public static void main(String args[]) throws Exception { String str = "020"

  • js取整数、取余数的方法

    1.丢弃小数部分,保留整数部分 parseInt(5/2) 2.向上取整,有小数就整数部分加1 Math.ceil(5/2) 3,四舍五入. Math.round(5/2) 4,向下取整 Math.floor(5/2) Math 对象的方法FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IEabs(x) 返回数的绝对值 1 2 3acos(x) 返回数的反余弦值 1 2 3asin(x) 返回数的反正弦值 1 2 3atan(

  • JS取模、取商及取整运算方法示例

    本文实例讲述了JS取模.取商及取整运算方法.分享给大家供大家参考,具体如下: JS代码: //求余数 document.write(1%4); document.write(6%4); //求商 console.info(1/4); console.info(6/4); //求商,取整 console.info(parseInt(1/4)); console.info(parseInt(6/4)); console.info('----'); //天花板取整 console.info(Math.

  • JS获取整个页面文档的实现代码

    唯一需要注意的地方: innerText与textContent,显示页面的时候不能用innerHTML,否则会被解析.innerText与textContent是在除FF之外的浏览器与FF之间的差异. 复制代码 代码如下: var innerText = document.body.innerText ? 'innerText' : 'textContent'; 上面的语句在开头处理以避免多次判断 demo贴图: demo: 复制代码 代码如下: <!DOCTYPE html PUBLIC &qu

  • JS操作字符串转换为数值并取整的代码

    核心代码: 复制代码 代码如下: var result = '3.1415926' | 0; // 3 测试代码: var result = '3.1415926' | 0; // 3 alert(result); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  • JavaScript Math.floor方法(对数值向下取整)

    JavaScript Math.floor 方法 Math.floor 方法用于对数值向下取整,即得到小于或等于该数值的最大整数.语法如下: Math.floor(x) 参数说明: 参数 说明 x 必需.必须是一个数值. 提示:该方法与 Math.ceil 方法正好相反. Math.floor 方法实例 <script language="JavaScript"> document.write( Math.floor(0.35) + "<br />&q

  • js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)

    js中小数向上取整数,向下取整数,四舍五入取整数的实现. 1.ceil()  向上-------------ceil英文意思是:天花板-----------就是在上 2.floor() 向下-------------ceil英文意思是:地面-----------就是在下 3.round() 四舍五入-------------ceil英文意思是:大约-----------就是附近 直接看下面的例子,结果一目了然.代码下面的是对应的打印结果. Math.floor(3/4) 0 Math.floor

  • JavaScript Math.ceil 方法(对数值向上取整)

    JavaScript Math.ceil 方法 Math.ceil 方法用于对数值向上取整,即得到大于或等于该数值的最小整数.语法如下: Math.ceil(x) 参数说明: 参数 说明 x 必需.必须是一个数值. 提示:该方法与 Math.floor 方法正好相反. Math.ceil 方法实例 <script language="JavaScript"> document.write( Math.ceil(0.35) + "<br />"

随机推荐