JavaScript中常用的数字取整方法,赶紧收藏起来!

w3cschool

共 2602字,需浏览 6分钟

 ·

2022-06-17 15:44

点击上方蓝字关注我们




在 JavaScript 实际开发过程中,经常会遇到数字取整的问题。本篇文章收集了一些方法,有需要的朋友赶紧收藏起来吧!



01
PART
直接取整


直接取整,顾名思义只取整数部分,小数部分就直接舍去。


(1)parseInt()


parseInt() 函数解析一个字符串参数,并返回一个指定基数的整数。


parseInt("2022abc"); //2022parseInt(""); // NaNparseInt("0xC"); // 12  十六进制parseInt(22.06); // 22parseInt(-22.06); // 22parseInt("030"); // 30 八进制


(2) Math.trunc()


Math.trunc() 方法会将数字的小数部分去掉,只保留整数部分。


Math.trunc(10.15); // 10Math.trunc(35.13); // 35Math.trunc(0.123); // 0Math.trunc(-0.123); // -0Math.trunc("-3.1415"); // -3Math.trunc(NaN); // NaNMath.trunc("foo"); // NaNMath.trunc(); // NaN



02
PART
快速取整


除了以上两个直接取整方法,我们也可以运用按位运算符来实现数字取证。所有的按位运算符都是以带符号的 32 位整数进行。使用它们可以将浮点型转换为整数。但这里面也存在一个问题,取整的数字有一个安全范围 ±2^31-1,即2147483647


(1)~~number


双波浪线 ~~ 操作符也被称为双按位非操作符。通常,可以用它来代替 Math.trunc() 方法。


~~35.12 // 35~~3.33333 // 3~~5 // 5~~[] // 0~~NaN // 0~~null // 0// 异常情况~~2147483648.123 // -2147483648


(2) number丨0


丨(按位或)对每一对比特位执行或(OR)操作


35.12|0 // 35-35.12|0 // -352000000000000.15|0 // -1454759936


(3) number^0


^(按位异或),对每一对比特位执行异或(XOR)操作

35.12^0 // 35-35.12^0 // -352000000000000.15^0 // -1454759936


(4) number<<0


<<(左移)操作符会将第一个操作数向左移动指定的位置。向左被移出的位被丢弃,右侧用0补充。


35.12<<0 // 35-35.12<<0 // -352000000000000.15<<0 // -1454759936


以上快速取整方法执行很快,即便当你执行数百万这样的操作仍然非常使用,速度明显优于其他方法。但这样有一个缺点,就是代码的可读性差。还要注意一个点,当处理一个特别大的数字时,会有一些异常情况。因此,在使用的时候要明确检查输入数值的范围。



03
PART
舍入舍去取整


当然以上直接去除小数点有时候还不满足我们的实际开发需求,有时候需要对小数进行四舍五入。在JavaScript中,Math对象提供了以下三种方法。


(1)四舍五入


Math.round() 是将数值四舍五入为最相近的整数。


Math.round(3.1) // 3Math.round(5.5) // 6Math.round(5.9) // 6Math.round(-3.1// -3Math.round(-5.5// -5Math.round(-5.9// -6


(2)向下取整


Math.floor() 是取向下最近的整数。


Math.floor(3.1// 3Math.floor(5.5// 5Math.floor(5.9// 5Math.floor(-3.1// -4Math.floor(-5.5// -6Math.floor(-5.9// -6



(3)向上取整


Math.ceil() 是取向上最近的整数。


Math.ceil(3.1) // 4Math.ceil(5.5// 6Math.ceil(5.9// 6Math.ceil(-3.1// -3Math.ceil(-5.5// -5Math.ceil(-5.9// -5


结尾


以上就是介绍JavaScript中常用的数字取整方法的内容,如果觉得本篇文章对你有所帮助,希望大家伙儿能够多多支持,点个关注、收藏!


这里是w3cschool编程狮,关注我们,阅读更多的IT资讯及技术干货~

课程推荐

课程:《JavaScript 入门课程》

课程介绍:本课程将带你全面掌握最实用的JavaScript知识点;能够精准输出JavaScript代码;制作出有好的动态网页等。

课程特点:本课程不同于传统的教学课程,以微课图文形式的课程呈现。

  1. 160+知识点图文呈现,为理解服务;

  2. 160+随堂练习,践行在“做”中“学”;

  3. 7次小节测验,讲练结合。

课程评价:

学习方式:扫码 ↓ 立即前往课程界面~

转发,点赞,在看,安排一下?
浏览 158
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报