首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript用Math.round方法将一个数四舍五入到整数

1. 基本概念

Math.round()方法用于将它的参数四舍五入到最接近的整数,如果最接近的整数有两个(此时参数的小数部分为0.5),那么结果就是更接近正无穷的那一个(或者说数值较大的那一个);如果它的参数原本就是整数,那么结果就是该参数自身。

Math.round()方法的语法形式如下所示:

Math.round(x);

根据上面的说明我们可知,参数x应该是一个数字,即Number类型。如果你传递的x不是Number类型的,那么它会先被转换成Number类型,再进行四舍五入。

由于JavaScript数字类型的特殊性,Math.round()的返回值由以下规则详细决定。这些规则中提到的x的值指的是x转换为数字后的值,如果它之前不属于数字类型的话。

1. 如果x是NaN,那么结果也是NaN;

2. 如果x是+0,那么结果也是+0;

3. 如果x是-0,那么结果也是-0;

4. 如果x是正无穷(+Infinity),那么结果也是正无穷;

5. 如果x是负无穷(-Infinity),那么结果也是负无穷;

6. 如果x大于0且小于0.5,那么结果将是+0;

7. 如果x小于0且大于或等于-0.5,那么结果将是-0;

8. 其余情况,结果就是最接近x的整数;如果最接近的整数有两个,那么结果就是更接近于正无穷的那一个;如果x本身就是整数,那么结果就是x本身。

这些规则看似很多,其实原理都是将x舍入到最接近的整数,只是需要考虑NaN、+0、-0、+Infinity和-Infinity这几个特殊值而已。

对于正数,JavaScript通常不显示它的正号。所以,在后面的示例中当我们打印值为+0和+Infinity的结果时,你会看到打印结果为0和Infinity。

2. 示例

首先,我们先来看看参数为一般数字时(即参数属于上面的第8条规则)的情况,此时的执行结果如图1所示。

图1 参数为一般数字时的执行结果

然后,我们再来看看参数或结果为特殊数字的情况(即上面的第1至第7条规则),它的执行结果如图2所示。

图2 参数或结果为特殊数字时的执行结果

最后,我们再来看看参数不是数字类型的情况,此时的参数会被先自动转换为数字类型;执行结果如图3所示。

图3 参数需要类型转换时的执行结果

(完)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200922A09CCB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券