JS取整的方法总结

1,801 阅读1分钟

1. paserInt(string, radix)

要求
  • 参数是 String
  • 输出是 Number
  • radix 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
  • // js内置函数,注意接受参数是string,所以调用该方法时存在类型转换
    parseInt("1.5555") // => 1
    // 但是实际使用parseInt(1.555) //=> 1 (文档明确说明是string ,不推荐)
    

2. Number.toFixed(0)

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

3. Math.celi()

要求
  • 参数是 Number
  • 输出是 Number
// 向上取整
Math.ceil(1.5555) // => 2
Math.ceil('1.555ddd5')// => NaN

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