JavaScript数学运算(取整,取余和取模)

来源|https://www.fly63.com这篇文章主要介绍js取整、取余和取模的实现方法和它们之间的区别,以及Math对象的常用方法函数介绍,有需要的朋友可以参考下。取整在项目开…

大家好,又见面了,我是你们的朋友全栈君。

fe1d37c3c9fbf918c5e0c695271c3a42.png

来源 | 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 对象的原始值

学习更多技能

请点击下方公众号

49129ee4401f11859de0e3f664203799.gif

8e19153a52deb649219d6fe8dd6e27e6.png

374eb61e71cec98fd3ab9d3a2f4c3eee.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127121.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • js获取request中的值_set协议工作原理

    js获取request中的值_set协议工作原理设置http请求头HttpURLConnection.setRequestProperty(Stringkey,Stringvalue); 这个我居然都忘记了,哎~真是岁数大了,心好累。。。 例如:下面就是一个完整的原始网络请求方式HttpURLConnectionconn=null;try{…

  • mac笔记本卡顿怎么办_电脑卡顿不流畅怎么办

    mac笔记本卡顿怎么办_电脑卡顿不流畅怎么办打开活动监视器,(启动台–其他–活动监测器),可以看到耗CPU,内存的具体应用都有哪些。如果能查到就往这方面去停止运行。一般都是图形的操作特别耗内存,可以关闭adboe的一些配置。我出现问题是安装了PS,他的adobe监听实时更新耗了系统70%内存。……

  • 中国电信广东DNS服务器[通俗易懂]

    中国电信广东DNS服务器[通俗易懂]1中国电信广州用户(包括番禺、增城、从化等区电信用户)“首选DNS服务器”为:61.144.56.100“备用DNS服务器”为:61.144.56.101这个经过测试确实是目前最快最有效的DNS服务器。2中国电信深圳用户“首选DNS服务器”为:202.96.128.86“备用DNS服务器”设置为:202.96.128.1663中国电信广东省其他地区用户(包括佛山、中山、江…

  • 【ClickOnce】自定义前提条件 Creating Bootstrapper Packages

    【ClickOnce】自定义前提条件 Creating Bootstrapper Packages背景以ClickOnce方式发布WPF程序时,在工程属性页的Publish标签中,单击Prerequisites按钮后可以选择需要安装的前提条件列表,比如.netframework。该列表未提供添加按钮或者管理功能,必须手工把自定义的前提条件添加进去。方法简单明了,把程序文件和要求的配置文件等存放到指定位置即可,如下:Walkthrough:Creati…

  • vue生成二维码并保存图片_php二维码生成代码

    vue生成二维码并保存图片_php二维码生成代码图片地址生成二维码

  • Python基本数据类型

    Python基本数据类型一、简介Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号