java中round()函数,floor()函数,ceil()函数的返回值

不太熟悉的是round()函数的一些边缘值,比如Math.round(11.5)是多少,所以测试了一下。当前,之前对于向上取整和向下取整也有误解地方,一直以为返回数字应该为int类型,但是看了源码才知道返回值是double类型。

测试代码:


/**
 * created by cxh on 17/7/27
 */

public class TempTest  {
    public static void main(String[] args) {
        /**
         * 测试Math.round(x)输出数字;他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整
         * 如果x距离相邻两侧的整数距离不一样,则取距离近的那个数字;
         * 如果x距离相邻两侧的整数距离一样,则取真值大的那个数字(即为大于x的那个数字)
         */
        System.out.println(Math.round(-11.3));// -11
        System.out.println(Math.round(-11.5));//-11
        System.out.println(Math.round(-11.6));//-12
        System.out.println(Math.round(11.3));//11
        System.out.println(Math.round(11.5));//12
        System.out.println(Math.round(11.6));//12

        /**
         * 向下取整,返回的是一个double值
         */
        System.out.println(Math.floor(11.8));//11.0
        System.out.println(Math.floor(11.5));//11.0
        System.out.println(Math.floor(11.1));//11.0
        System.out.println(Math.floor(-11.8));//-12.0
        System.out.println(Math.floor(-11.5));//-12.0
        System.out.println(Math.floor(-11.1));//-12.0

        /**
         * 向上取整,返回的是一个double值
         */
        System.out.println(Math.ceil(11.8));//12.0
        System.out.println(Math.ceil(11.5));//12.0
        System.out.println(Math.ceil(11.1));//12.0
        System.out.println(Math.ceil(-11.8));//-11.0
        System.out.println(Math.ceil(-11.5));//-11.0
        System.out.println(Math.ceil(-11.1));//-11.0
    }
}





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值