Math.round()对负数操作问题

问题描述:

Math.round()对负数操作问题
System.out.println(Math.round(-11.5));为什么得的是-11
而System.out.println(Math.round(-11.51));得的就是-12呢?
1个回答 分类:数学 2014-11-10

问题解答:

我来补答
ound
public static long round(double a)返回最接近参数的 long.结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型.换句话说,结果等于以下表达式的值:
(long)Math.floor(a + 0.5d)特殊情况如下:
如果参数为 NaN,那么结果为 0.
如果结果为负无穷大或任何小于等于 Long.MIN_VALUE 的值,那么结果等于 Long.MIN_VALUE 的值.
如果参数为正无穷大或任何大于等于 Long.MAX_VALUE 的值,那么结果等于 Long.MAX_VALUE 的值.
 
 
展开全文阅读
剩余:2000