2分钟避开Java Math.ceil() .floor()方法的坑

语法

ceil() 方法可对一个数进行上舍入,返回值大于或等于给定的参数,类型为双精度浮点型。
floor() 方法可对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等给定的参数。

该方法有以下几种语法格式:

double ceil(double d)

double ceil(float f)

double floor(double d)

double floor(float f)

实例

public class Test{
    public static void main(String args[]){
        double d = 100.675;
        float f = -90;    
 
        System.out.println(Math.ceil(d));
        System.out.println(Math.ceil(f)); 
                     
        System.out.println(Math.floor(d));
        System.out.println(Math.floor(f)); 
    }
}

编译以上程序,输出结果为:

101.0
-90.0
100.0
-90.0

注意事项

如果参数值总是等于某个整数,那么结果与该参数相同。
如果参数是 NaN、无穷大、正零或负零,那么结果与参数相同。
如果参数值小于零,但是大于 -1.0,那么结果是负零。

例如:

double d1=-0.5;
System.out.println("Ceil d1="+Math.ceil(d1));
System.out.println("floor d1="+Math.floor(d1));

输出为:

Ceil d1=-0.0//注意!!!
floor d1=-1.0
发布了65 篇原创文章 · 获赞 26 · 访问量 2897

猜你喜欢

转载自blog.csdn.net/weixin_43332735/article/details/104838760