一些算法的疑惑,请教小弟
Math.round(11.5)==12;Math.round(-11.5)==-11这里为什么等于-11呢,按照四舍五入的办法那也是等于-12哦。因为-11比-12要大...
Math.round(11.5)==12;Math.round(-11.5)==-11这里为什么等于-11呢,按照四舍五入的办法那也是等于-12哦。因为-11比-12要大啦。。请帮忙解答一下,不胜感激。
展开
2个回答
展开全部
number round(number):返回与参数最接近的整数值。
如果number与两个整数的距离相等,即为0.5时,将向上返回。
如果参数为 NaN,则返回 NaN。
如果参数为正无穷大,将返回正无穷大。
如果参数为负无穷大,将返回负无穷大。
如果参数为正零,将返回正零。
如果参数为负零,将返回负零。
如果参数小于零但是大于等于 -0.5,将返回负零。
对于最后两种情况,调用 round() 函数的结果与加上 0.5 后再调用 floor() 函数的结果不同,因为在这种情况下将返回正零。
举例:
round(2.6) = 3
round (2.4) = 2
round(2.5) = 3
round(-1.6) = -2
round(-1.5) = -1
特别的,-1.5到-2与-1的距离都是0.5,那么它将返回大的数字-1(-1>-2)
这个与整数也不冲突的,比如你的例子里面,,11<11.5<12那么它返回12,返回大的整数,-12<-11.5<-11它也返回大的整数-11.
希望你明白了。
如果number与两个整数的距离相等,即为0.5时,将向上返回。
如果参数为 NaN,则返回 NaN。
如果参数为正无穷大,将返回正无穷大。
如果参数为负无穷大,将返回负无穷大。
如果参数为正零,将返回正零。
如果参数为负零,将返回负零。
如果参数小于零但是大于等于 -0.5,将返回负零。
对于最后两种情况,调用 round() 函数的结果与加上 0.5 后再调用 floor() 函数的结果不同,因为在这种情况下将返回正零。
举例:
round(2.6) = 3
round (2.4) = 2
round(2.5) = 3
round(-1.6) = -2
round(-1.5) = -1
特别的,-1.5到-2与-1的距离都是0.5,那么它将返回大的数字-1(-1>-2)
这个与整数也不冲突的,比如你的例子里面,,11<11.5<12那么它返回12,返回大的整数,-12<-11.5<-11它也返回大的整数-11.
希望你明白了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询