天天看点

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

eil方法:

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