今天看了一道以前的java面试题,又提到了这两个方法,总结一下:
1.Math.round(x):相当于x加1/2,再求其floor,再求整;
2.Math.floor(y):返回所给参数的近似整数值,近似值为向下取整所得的数值,即近似值为小于等于参数的整数。
例子:
1.Math.round(x):相当于x加1/2,再求其floor,再求整;
2.Math.floor(y):返回所给参数的近似整数值,近似值为向下取整所得的数值,即近似值为小于等于参数的整数。
例子:
public static void main(String[] args) {
//--------------Math.floor()-----------------
//返回所给参数的近似整数值,近似值为向下取整所得的数值,即近似值为小于等于参数的整数
System.out.println(Math.floor(2.1));// 2.0
System.out.println(Math.floor(2.8));// 2.0
System.out.println(Math.floor(-2.1));// -3.0
System.out.println(Math.floor(-2));// -3.0
System.out.println("--------------");
//--------------Math.round()-----------------相当于加1/2,再求其floor,再求整
System.out.println(Math.round(2.5));// 3(四舍五入)
//相当于:
System.out.println((int)Math.floor(2.5+0.5));// 3
System.out.println(Math.round(-2.5));// -3
//相当于:
System.out.println((int)Math.floor(-2.5+0.5));// -3
}