Java中的Math.round()和Math.ceil(),Math.floor()区别

ceil方法:
static double ceil(double a)
返回值为double类型,返回一个大于或等于参数a的最小整数。即它返回一个整数,这个整数是所有大于等于a的整数中最小的一个。

floor方法:
static double floor(double a)
返回值为double类型,返回一个小于或等于参数a的最大整数。即它返回一个整数,这个整数是所有小于等于a的整数中最大的一个。

round方法:
//该方法为重载方法
static long round(double a)
static int round(float a)
返回最接近参数a的整数,该方法等同于Math.floor(a + 0.5)并将结果转换为long或int类型,即四舍五入取整。

public class MathTest {
public static void main(String[] args) {
double[] nums = {-0.6, -1.5, -1, 0.5, 1.2, 1.8};
for(double n : nums) {
test(n);
}
}

public static void test(double a) {
System.out.println("Math.ceil(" + a + ")=" + Math.ceil(a));
System.out.println("Math.floor(" + a + ")=" + Math.floor(a));
System.out.println("Math.round(" + a + ")=" + Math.round(a));
}
}

运行结果:
Math.ceil(-0.6)=-0.0
Math.floor(-0.6)=-1.0
Math.round(-0.6)=-1
Math.ceil(-1.5)=-1.0
Math.floor(-1.5)=-2.0
Math.round(-1.5)=-1
Math.ceil(-1.0)=-1.0
Math.floor(-1.0)=-1.0
Math.round(-1.0)=-1
Math.ceil(0.5)=1.0
Math.floor(0.5)=0.0
Math.round(0.5)=1
Math.ceil(1.2)=2.0
Math.floor(1.2)=1.0
Math.round(1.2)=1
Math.ceil(1.8)=2.0
Math.floor(1.8)=1.0
Math.round(1.8)=2

你可能感兴趣的:(Java基础)