在Java中,Math类有四个取整方法
方法 | 描述 |
---|---|
ceil(x) | x向上取整为它最接近的整数,以双精度值返回 |
floor(x) | x向下取整为它最接近的整数,以双精度值返回 |
rint(x) | x取整为它最接近的整数。如果x与两个整数的距离相等,偶数的整数作为一个双精度值返回 |
round(x) | 如果x是单精度数,返回(int)Math.floor(x+0.5);如果x是双精度数,返回(long)Math.floor(x+0.5) ps:可以看成是四舍五入 |
这里注意一下rint不是四舍五入,比如4.5的时候,rint(4.5)=4.0,而rint(3.5)也为4.0
最后上代码演示:
public class test {
public static void main(String[] args) {
System.out.println(Math.ceil(2.1)); //3.0
System.out.println(Math.ceil(2.0)); //2.0
System.out.println(Math.ceil(-2.1));//-2.0
System.out.println(Math.ceil(-2.0));//-2.0
System.out.println(Math.floor(2.1));//2.0
System.out.println(Math.floor(2.0));//2.0
System.out.println(Math.floor(-2.1));//-3.0
System.out.println(Math.floor(-2.0));//-2.0
System.out.println(Math.rint(2.1));//-2.0
System.out.println(Math.rint(-2.1));//-2.0
System.out.println(Math.rint(4.5));//4.0
System.out.println(Math.rint(-4.5));//-4.0
System.out.println(Math.rint(3.5));//4.0
System.out.println(Math.rint(-3.5));//-4.0
System.out.println(Math.round(-3.5f));//返回(int)-3
System.out.println(Math.round(3.5));//返回(long)4
}
}
结果:
3.0
2.0
-2.0
-2.0
2.0
2.0
-3.0
-2.0
2.0
-2.0
4.0
-4.0
4.0
-4.0
-3
4
Process finished with exit code 0