Math.round(-2019.5)的结果是 -2019

发布时间 2023-11-10 12:54:41作者: 龙陌

Math.round()函数返回一个数字四舍五入后最接近的整数

如果参数的小数部分大于0.5,四舍五入到相邻的绝对值更大的整数

如果参数的小数部分小于0.5,四舍五入到相邻的绝对值更小的整数

如果参数的小数部分等于0.5,四舍五入到相邻的在正无穷(+∞)方向上的整数。

例:

x=Math.round(2019.49) ; //2019

x=Math.round(2019.5); //2020

x=Math.round(-2019.5); //-2019

x=Math.round(-2019.51); //-2020

Math.round方法举例:

Case1:小数点后第一位 = 5
正数:Math.round(11.5) = 12
负数:Math.round(-11.5) = -11
Case2:小数点后第一位 < 5
正数:Math.round(11.49) = 11
负数:Math.round(-11.49) = -11
Case3:小数点后第一位 > 5
正数:Math.round(11.69) = 12
负数:Math.round(-11.69) = -12

总结:
Math类中提供了三个与取整有关的方法:ceil,floor,round 这些方法的作用于它们的英文名称的含义相对应
例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;
floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;
最难掌握的是round方法:他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,
所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.

  Math.round( )符合这样的规律:小数点后大于5,正数和负数的个位数全部加1,

                             小数点后等于5,正数的个位数加1,

                             小数点后小于5,正数和负数的个位数全不加1(保持个位数原数)。

                             注:这里所说的加1,是先将负号去掉,加完后,再变为负号。

math.round()方法,原来的数字加上0.5,再向下取整。
-2019.5+0.5=-2019,再向下取整就是-2019

-2019.51 +0.5 = -2019.01 ,再向下取整是-2020

不能理解的,可以画数轴,左边为负 ,左边代表向下取整