public class MathDemo {
public static void main(String[] args) {
System.out.println(Math.round(1.6));
System.out.println(Math.round(0.6));
System.out.println(Math.round(0.5));
System.out.println(Math.round(-0.5));
System.out.println(Math.round(-0.6));
System.out.println(Math.round(-1.6));
}
}
结果:
JDK里面的解释:
public static int round(float a)返回参数最接近的int ,其中int四舍五入为正无穷大。
特殊情况:
如果参数是NaN,结果为0。
如果参数为负无穷大或小于或等于Integer.MIN_VALUE的值,则结果等于Integer.MIN_VALUE的值。
如果参数为正无穷大或大于或等于Integer.MAX_VALUE的值,则结果等于Integer.MAX_VALUE的值。
参数
a - 要舍入为整数的浮点值。
结果
参数的值四舍五入到最接近的 int值。
另请参见:
Integer.MAX_VALUE , Integer.MIN_VALUE
总结:参数+0.5然后向下取整。
参考这篇文章