一些算法的疑惑,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