一些算法的疑惑,Math.round(11.5)==12;Math.round(-11.5)==-11这里为什么等于-1
1个回答

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