将一个数转换为整数

将一个数转换为整数

  • JavaScript 里面提供了好几种方法,让我们把一个数转换为一个整数,比如有以下三种
    • Math.floor(), Math.ceil(), Math.round():最优,最常用
    • 位运算符:运算效率略高,但是可读性差,而且只能转换 32 位整数,不常用
    • parseInt():适用于将字符串转换为整数,不适合将一个数转换为整数
  • 它们都有各自的适用范围和优缺点,但是我们实际开发中最常用的,还是第一种,也就是 Math 对象提供的 3 个函数
  • 这 3 个函数在转换正数的时候,其结果是不言而喻的,但是当涉及到负数时,就似乎变得有点难以理解了
  • 现在笔者将它们的工作原理总结如下,正负数通吃。首先,我们需要在纸上画一条一维坐标轴(初中数学知识)
    • 如果传入的数是一个整数或者是一个「不正常」的数 ( NaN, Infinity, -Infinity ),这三个函数都会将其原样返回
    • 如果传入的数是一个小数,那么我们定位到坐标轴上这个小数的位置,然后
      • Math.floor() 会从它的左边开始,找到离它最近的那个整数,并将其返回
        • Math.floor(1.2) === 1
        • Math.floor(1.5) === 1
        • Math.floor(1.7) === 1
        • Math.floor(-1.2) === -2
        • Math.floor(-1.5) === -2
        • Math.floor(-1.7) === -2
      • Math.ceil() 会从它的右边开始,找到离它最近的那个整数,并将其返回
        • Math.ceil(1.2) === 2
        • Math.ceil(1.5) === 2
        • Math.ceil(1.7) === 2
        • Math.ceil(-1.2) === -1
        • Math.ceil(-1.5) === -1
        • Math.ceil(-1.7) === -1
      • Math.round() 会从它的左边和右边同时开始,找到离它最近的那个整数,并将其返回
        • 如果传入的小数刚好处于两个整数的正中间 ( 比如 1.5 ),那么只会从右边开始找整数
          • Math.round(1.2) === 1
          • Math.round(1.5) === 2
          • Math.round(1.7) === 2
          • Math.round(-1.2) === -1
          • Math.round(-1.5) === -1
          • Math.round(-1.7) === -2

总结

  • 这只是一个很小的知识点,但是很多书或者文章都解释得不太清楚
  • 这里我们只需要引入一个数学工具(坐标轴),一切都变得明晰起来
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • 第1章 认识JS JavaScript能做什么?1.增强页面动态效果(如:下拉菜单、图片轮播、信息滚动等)2.实现...
    mo默22阅读 1,349评论 0 5
  • 变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内...
    V_V呀阅读 12,818评论 0 1
  • 「宫寒」到底是什么? 宫寒其实是一种中医的理论,也叫「胞宫受寒」,它影响的不光是子宫,还有卵巢、输卵管等器官。简单...
    小蛙阅读 533评论 0 0