java面试题33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).
java面試題33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 (? ).
?
A 11 ,-11 B 11 ,-12 C 12 ,-11 D 12 ,-12蒙蔽樹上蒙蔽果,蒙蔽樹下你和我。
做Java的面試題時遇到了以下這題,百度了一下Math.round()的修約規則,有的說是四舍五入,有的說是四舍六入,發現和我學分析化學時用的數字修約規則(四舍六入五成雙)很像,所以驗證一下;
 原題:Math.round(11.5) 等于多少?Math.round(-11.5)等于多少?
 作者給的解題方法如下:
 答:Math.round(11.5)的返回值是12,Math.round(-11.5)的返回值是-11。四舍五入的原理是在參數上加0.5然后進行下取整。
先說結論,題目作者給的解釋是對的,后來找了該方法的定義,結果方法的定義就是這個原理,果然看文檔才是王道;
round方法:
 static long round(double a)
 此方法返回的參數最接近的long.
 static int round(float a)
 此方法返回的參數最接近的整數.
注:四舍六入五成雙:
 當有效位數確定后,其后面多余的數字應該舍去,只保留有效數字最末一位,這種修約(舍入)規則是“四舍六入五成雙”,也即“4舍6入5湊偶”這里“四”是指≤4 時舍去,”六”是指≥6時進上,”五”指的是根據5后面的數字來定,當5后有數時,舍5入1;當5后無有效數字時,需要分兩種情況來講:①5前為奇數,舍5入1;②5前為偶數,舍5不進。(0是偶數)
以下只論證static int round(float a)
??????? //四舍
 ???
 ??????? //輸出:2,2,2,2,-2,-2,-2,-2,3,3,3,3,-3,-3,-3,-3,符合四舍;也符合 加0.5,進行下取整;
??????? //六入
 ???????
 ??????? //輸出:3,3,3,3,-3,-3,-3,-3,4,4,4,4,-4,-4,-4,-4,符合六入;也符合 加0.5,進行下取整;
??????? //五成雙之五后無數字
 ??????
 ??????? //輸出:3,-2,4,-3,不符合五成雙;符合 加0.5,進行下取整;
??????? //五成雙之五后有數字(零,非零)
 ???
 ??????? //輸出:3,3,3,-2,-3,-3,4,4,4,-3,-4,-4,不符合五后非零進一;符合 加0.5,進行下取整;
??????? //結論:Math.round()的取整規則不符合四舍六入五成雙,以上案例符合 加0.5,進行下取整;
答案C
我是歌謠,如有不合理之處歡迎指出。喜歡敲代碼,閑時刷刷題。
閱讀目錄(置頂)(長期更新計算機領域知識)
閱讀目錄(置頂)(長期更新計算機領域知識)
閱讀目錄(置頂)(長期科技領域知識)
歌謠帶你看java面試題
總結
以上是生活随笔為你收集整理的java面试题33 Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( ).的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 插图 引用 同一行两个插图_提出食物主题
- 下一篇: 网络电台MMS
