Java Math.round函数详解

网友投稿 424 2022-10-06


Java Math.round函数详解

1.代码如下:

public class TestMathRound {

public static void main(http://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之后,向下取整。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:数据安全风险评估总结(一)——基于数据生命周期进行安全风险评估
下一篇:逆向脱壳破解分析基础学习笔记七 堆栈图(重点)(逆向分析入门)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~