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

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

测试代码

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
}

}

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写: 一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...