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

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

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


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/17823859.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示