A. 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