Java Math.round函数详解

 更新时间:2021年08月11日 10:03:14   作者:无名小卒菜  
这篇文章主要介绍了Java Math.round函数详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

1.代码如下:

public class TestMathRound {
    public static void main(String[] args) {
        System.out.println("小数点后第一位=5");
        System.out.println("正数:Math.round(11.5)=" + Math.round(11.5));//12
        System.out.println("负数:Math.round(-11.5)=" + Math.round(-11.5));//-11
        System.out.println();
        System.out.println("小数点后第一位<5");
        System.out.println("正数:Math.round(11.46)=" + Math.round(11.46));//11
        System.out.println("负数:Math.round(-11.46)=" + Math.round(-11.46));//-11
        System.out.println();
        System.out.println("小数点后第一位>5");
        System.out.println("正数:Math.round(11.68)=" + Math.round(11.68));//12
        System.out.println("负数:Math.round(-11.68)=" + Math.round(-11.68));//-12
    }
}

2.结果如下,可以自己运行。

3.本来以为是四舍五入,取最靠近的整数,查了网上说有四舍六入五成双,最后还不如看源码。源码如下:

    public static long round(double a) {
        if (a != 0x1.fffffffffffffp-2) // greatest double value less than 0.5
            return (long)floor(a + 0.5d);
        else
            return 0;
    }

 我们看到round函数会默认加0.5,之后调用floor函数,然后返回。floor函数可以理解为向下取整。

4.综上,Math.round函数是默认加上0.5之后,向下取整。

到此这篇关于Java Math.round函数详解的文章就介绍到这了,更多相关Java Math.round函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • IDEA集成MyBatis Generator插件的使用

    IDEA集成MyBatis Generator插件的使用

    这篇文章主要介绍了IDEA集成MyBatis Generator插件的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 解决IDEA报错war exploded is not valid问题

    解决IDEA报错war exploded is not valid问题

    在使用IntelliJ IDEA时遇到'[projectname]warexploded'无效的问题,可以通过清除项目列表、重新导入项目和配置新的Tomcat来解决,确保在Tomcat配置中,将ApplicationContext修改为仅包含一个'/',这一方法或许能帮助遇到相似问题的开发者
    2024-09-09
  • 如何在Spring WebFlux的任何地方获取Request对象

    如何在Spring WebFlux的任何地方获取Request对象

    这篇文章主要介绍了如何在Spring WebFlux的任何地方获取Request对象,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2021-01-01
  • Java字符流与字节流区别与用法分析

    Java字符流与字节流区别与用法分析

    这篇文章主要介绍了Java字符流与字节流区别与用法,较为详细的分析了java字符流与字节流的概念、功能与使用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • idea查看properties中文变成unicode码的解决方案

    idea查看properties中文变成unicode码的解决方案

    这篇文章主要介绍了idea查看properties中文变成unicode码的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • java通过DelayQueue实现延时任务

    java通过DelayQueue实现延时任务

    本文主要介绍了java通过DelayQueue实现延时任务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • SpringBoot生成条形码的方案详解

    SpringBoot生成条形码的方案详解

    在Spring Boot, Spring Cloud 项目中整合ZXing库来生成条形码在特定行业也是一个常见需求,ZXing是google开源的一个功能强大的Java库,专门用于二维码/条形码等的生成与解析,所以本文给大家介绍了SpringBoot生成条形码的方案,需要的朋友可以参考下
    2024-08-08
  • Java实现顺序栈的示例代码

    Java实现顺序栈的示例代码

    线性表和栈都是我们常用的数据结构,栈可以看成一种特殊状态的线性表。线性表分为顺序表和链表,使用线性表中的顺序表来实现栈时这种栈被称为顺序栈。这篇文章总结了如何使用顺序表实现栈,需要的可以参考一下
    2022-11-11
  • 用Spring Native将SpringBoot程序转换为GraalVM

    用Spring Native将SpringBoot程序转换为GraalVM

    这篇文章主要介绍了用Spring Native将SpringBoot程序转换为GraalVM的方法,帮助大家更好的理解和学习使用SpringBoot,感兴趣的朋友可以了解下
    2021-04-04
  • SpringBoot集成MyBatis的多种方式

    SpringBoot集成MyBatis的多种方式

    本文深入解析了Spring Boot集成MyBatis的多种方式,包括XML配置、注解配置以及MyBatis的动态SQL等,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12

最新评论