java中的Math.round()函数

一、

我们在idea中通过Math对round()函数进行调用的时候,可以看到:
如果round()函数中传入float型的参数,则得到int型的返回值;
如果round()函数中传入double型的参数,则得到long型的返回值;
idea中调用round()函数

二、对于round(double a):long的函数

Returns the closest long to the argument, with ties rounding to positive infinity(返回的是最接近参数的一个long 值)
round()

  1. 常规情况下
    例:
    Math.round(11.6) = 12;Math.round(-11.6) = -12;
    Math.round(-0.1) = 0;Math.round(0.1) = 0;

  2. 如果出现向上向下距离一样的数值
    例:
    Math.round(11.5) ,首先与 11.5最接近的有两个整数 11 和 12,取较大的那个,结果就是12;
    Math.round(-11.5),首先与 -11.5最接近的有两个整数 -11 和 -12,取较大的那个,结果就是-11;

  3. 三个特例
    如果参数为 NaN(无穷与非数值),那么结果为 0。
    如果参数为负无穷大或任何小于等于 Long.MIN_VALUE 的值,那么结果等于Long.MIN_VALUE 的值。
    如果参数为正无穷大或任何大于等于 Long.MAX_VALUE 的值,那么结果等于Long.MAX_VALUE 的值。

        double l = Long.MIN_VALUE;
        System.out.println(l);                      // -9.223372036854776E18
        System.out.println(Math.round(l));          // -9223372036854775808
        System.out.println(Math.round(l - 100000)); // -9223372036854775808
        l = Long.MAX_VALUE;
        System.out.println(l);                      // 9.223372036854776E18
        System.out.println(Math.round(l));          // 9223372036854775807
        System.out.println(Math.round(l + 100000)); // 9223372036854775807
        l = Double.NaN;
        System.out.println(Math.round(l));          // 0

三、本文参考以下文章

原文链接

四、扩展内容

有趣的NaN类型

Math.round函数Java的一个数学函数,用于对一个浮点数进行四舍五入取整操作。根据引用\[2\]的解释,当小数点后第一位为5时,正数会向上取整,负数会向下取整。当小数点后第一位小于5时,正数和负数都会向下取整。当小数点后第一位大于5时,正数会向上取整,负数会向下取整。\[2\] 在引用\[1\]的示例代码Math.round函数被用来对不同的浮点数进行取整操作,并将结果打印出来。例如,Math.round(11.1)的结果是11,Math.round(11.5)的结果是12,Math.round(-11.1)的结果是-11,Math.round(-11.5)的结果是-11。\[1\] 总结来说,Math.round函数可以用来对浮点数进行四舍五入取整操作,根据小数点后第一位的数值来确定取整的方向。\[3\] #### 引用[.reference_title] - *1* [Math.round()函数](https://blog.csdn.net/VirusLL/article/details/71981680)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Math.round()方法](https://blog.csdn.net/zhoushumin157016/article/details/51984436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值