大家好,又见面了,我是你们的朋友全栈君。
来源 | https://www.fly63.com
这篇文章主要介绍js取整、取余和取模的实现方法和它们之间的区别,以及Math对象的常用方法函数介绍,有需要的朋友可以参考下。
取整
在项目开发过程中,有时要对小数取整操作,JavaScript也提供了4种方法,分别为round()、ceil()、floor()和parseInt()取整。
其中round()是四舍五入取整,ceil() 是向上取整,floor() 是向下取整,parseInt() 只取整数部分。
1、保留整数部分
Math.parseInt() 方法就是仅取整数部分,也就是不管小数点后的数是否大于5,一律舍弃:
//保留整数部分
parseInt(3/2) // 1
2、向上取整
Math.ceil() 方法就是向上取整,求最小的整数但不小于本身,例如:
// 向上取整,有小数就整数部分加1
Math.ceil(3/2) // 2
3、向下取整
Math.floor() 方法就是向下取整,求最大的整数但不大于本身,例如:
// 向下取整,丢弃小数部分
Math.floor(3/2) // 1
4、四舍五入
如果要求对小数进行四舍五入,请使用 Math.round() 方法,例如:
// 四舍五入
Math.round(3/2) // 2
除此之外还可以使用toFixed方法来实现,比如:
(3/2).toFixed() //2
toFixed(num)返回值为string,把 Number 四舍五入为指定小数位数的数字,num为指定的小数位数。
取余和取模
区别
取余是数学中的概念,取模是计算机中的概念,两者都是求两数相除的余数
1.当两数符号相同时,结果相同,比如:7%4 与 7 Mod 4 结果都是3
2.当两数符号不同时,结果不同,比如
(-7)%4=-3
(-7)Mod4=1
取余运算,求商采用fix 函数 ,向0方向舍入,取 -1。因此 (-7) % 4 商 -1 余数为 -3
取模运算,求商采用 floor 函数,向无穷小方向舍入,取 -2。因此 (-7) Mod 4 商 -2 余数为 1
取余
取余运算符 (%):一个表达式的值除以另一个表达式的值,返回余数。公式:result = numberA % numberB返回值:result,任何变量。
7%4 //3
-7%3 //-1
取模
取模运算可采用如下公式:
Number.prototype.mod = function(n) {
return ((this % n) + n) % n;
}
// 或
function mod(n, m) {
return ((n % m) + m) % m;
}
使用:
mod(-7, 3) //2
(-7).mod(3) //2
(7).mod(3) //1
Math 对象的方法介绍
-
abs(x) 返回数的绝对值 1 2 3
-
acos(x) 返回数的反余弦值 1 2 3
-
asin(x) 返回数的反正弦值 1 2 3
-
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3
-
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3
-
ceil(x) 对一个数进行上舍入。1 2 3
-
cos(x) 返回数的余弦 1 2 3
-
exp(x) 返回 e 的指数。1 2 3
-
floor(x) 对一个数进行下舍入。1 2 3
-
log(x) 返回数的自然对数(底为e) 1 2 3
-
max(x,y) 返回 x 和 y 中的最高值 1 2 3
-
min(x,y) 返回 x 和 y 中的最低值 1 2 3
-
pow(x,y) 返回 x 的 y 次幂 1 2 3
-
random() 返回 0 ~ 1 之间的随机数 1 2 3
-
round(x) 把一个数四舍五入为最接近的整数 1 2 3
-
sin(x) 返回数的正弦 1 2 3
-
sqrt(x) 返回数的平方根 1 2 3
-
tan(x) 返回一个角的正切 1 2 3
-
toSource() 代表对象的源代码 1 4 –
-
valueOf() 返回一个 Math 对象的原始值
学习更多技能
请点击下方公众号
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127121.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...