js怎么取整,js取整方法有哪些。在 JavaScript 实际开发过程中,经常会遇到数字取整的问题。本篇文章收集了一些方法,有需要的朋友赶紧收藏起来吧!
直接取整,顾名思义只取整数部分,小数部分就直接舍去。
(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
除了以上两个直接取整方法,我们也可以运用按位运算符来实现数字取证。所有的按位运算符都是以带符号的 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
以上快速取整方法执行很快,即便当你执行数百万这样的操作仍然非常使用,速度明显优于其他方法。但这样有一个缺点,就是代码的可读性差。还要注意一个点,当处理一个特别大的数字时,会有一些异常情况。因此,在使用的时候要明确检查输入数值的范围。
当然以上直接去除小数点有时候还不满足我们的实际开发需求,有时候需要对小数进行四舍五入。在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中常用的数字取整方法的内容
本文地址:百科问答频道 https://www.neebe.cn/wenda/886412.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!