求解java中Math类中的取整方法?

返回值-2和-3是怎么得到的?
2024-11-01 12:04:09
推荐回答(1个)
回答(1):

public static long round(double a)
返回最接近参数的 long 长整型。结果将四舍五入为整数,对结果调用 Math.floor函数, 并将所得结果强制转换为 long 类型。
换句话说,结果等于以下表达式的值:
(long)Math.floor(a + 0.5d)
对于负数的四舍五入规则是 先把负数转换为正数,四舍五入后,再转换为负数
-2.6转换为正数2.6,四舍五入2.6+0.5=3.1,然后再转为负数-3.1
用Math.floor函数去掉小数部分为-3,然后强制转换成长整型-3.
-2.4转换为正数2.4,四舍五入2.4+0.5=2.9,然后再转为负数-2.9
用Math.floor函数去掉小数部分为-2,然后强制转换成长整型-2.
所以Math.round(-2.6)=-3,Math.round(-2.4)=-2.