[問題] double轉最接近的int...

看板java作者 (ishikawa)時間17年前 (2008/07/09 21:24), 編輯推噓7(701)
留言8則, 5人參與, 最新討論串1/2 (看更多)
最近在寫一個code, 輸入一個數字n,然後宣告一個2的n次方大小的陣列 算是一個很直覺的問題。 就我的了解,計算2的n次方是pow(2,n) 但是這樣出來的值是double型態 無法用來作陣列的大小宣告... 我也試著使用Math.round(), 但也只能把double轉成long,無法轉成int。 想請問一下板上的高手們,是否有什麼方法可以做到此需求呢? 首次在此版發文,先謝謝各位先進! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.247.175

07/09 21:29, , 1F
不在意四捨五入的話,直接轉型就可以了。
07/09 21:29, 1F

07/09 21:36, , 2F
Double.parseInt();
07/09 21:36, 2F

07/09 21:51, , 3F
樓上... 是 intValue() 不是 parseInt() 吧
07/09 21:51, 3F

07/09 22:12, , 4F
int myInt = (int) (myDouble + 0.5);
07/09 22:12, 4F

07/09 22:24, , 5F
別理我== 我腦袋渾沌狀態完全跟INTEGER搞混
07/09 22:24, 5F

07/09 22:26, , 6F
intValue也要Double不能用double
07/09 22:26, 6F

07/09 22:38, , 7F
把dounle先仍進Double裡再來處理嘛.這樣不是比較方便?
07/09 22:38, 7F

07/09 23:13, , 8F
這只是提醒 不過論方法還是四樓的方便
07/09 23:13, 8F
文章代碼(AID): #18TBm0hK (java)
文章代碼(AID): #18TBm0hK (java)