为什么将-0.5传递给Math.round时结果为0?和0.5时通过还导致1?难道不是当您将-0.5传递给Math.round()时也会产生-1作为结果吗?当数字为-0.6时,我得到-1结果。
最佳答案
Math.round(double)
记录为:
返回最接近参数的long,并舍入为正无穷大。
因此-0.5是向上舍入(朝正无穷大),而不是向下舍入到负无穷大。它的行为与所记录的完全相同。
为什么将-0.5传递给Math.round时结果为0?和0.5时通过还导致1?难道不是当您将-0.5传递给Math.round()时也会产生-1作为结果吗?当数字为-0.6时,我得到-1结果。
最佳答案
Math.round(double)
记录为:
返回最接近参数的long,并舍入为正无穷大。
因此-0.5是向上舍入(朝正无穷大),而不是向下舍入到负无穷大。它的行为与所记录的完全相同。