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));//12System.out.println('負數:Math.round(-11.5)=' + Math.round(-11.5));//-11System.out.println();System.out.println('小數點后第一位<5');System.out.println('正數:Math.round(11.46)=' + Math.round(11.46));//11System.out.println('負數:Math.round(-11.46)=' + Math.round(-11.46));//-11System.out.println();System.out.println('小數點后第一位>5');System.out.println('正數:Math.round(11.68)=' + Math.round(11.68));//12System.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函數內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
