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
    /**
     * 向下取整,返回的是<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a>double值
     */
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.floor(11.8));//11.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.floor(11.5));//11.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.floor(11.1));//11.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.floor(-11.8));//-12.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.floor(-11.5));//-12.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.floor(-11.1));//-12.0

    /**
     * 向上取整,返回的是<a href="https://www.jb51.cc/tag/yige/" target="_blank" class="keywords">一个</a>double值
     */
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.ceil(11.8));//12.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.ceil(11.5));//12.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.ceil(11.1));//12.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.ceil(-11.8));//-11.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.ceil(-11.5));//-11.0
    Sy<a href="https://www.jb51.cc/tag/stem/" target="_blank" class="keywords">stem</a>.out.println(Math.ceil(-11.1));//-11.0
}

}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...