看板 java 關於我們 聯絡資訊
在進行數學運算時 如果型態是浮點數的話 如何對運算結果做四捨五入到特定小數位數 例如四捨五入至小數點後第一位、第二位等等 書上我只看到用Math.round四捨五入到整數位數 不知道有沒有別的方法可以四捨五入到小數位數 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.170.69.229
ogamenewbie:numberformat? 10/09 09:41
archerlin:import java.math.BigDecimal 詳見 http://0rz.tw/620Oc 10/09 11:09
archerlin:BigDecimal b = new BigDecimal(Double.toString(d)); 10/09 11:24
archerlin:d = b.divide(new BigDecimal("1"), scale, 10/09 11:26
archerlin: BigDecimal.ROUND_HALF_UP).doubleValue(); 10/09 11:27
archerlin:類似這樣...(d為欲四捨五入的double, scale為小數位數) 10/09 11:28
ogamenewbie:如果要用 BigDecimal... 乾脆就不要轉回浮點了 XD 10/09 11:30
ogamenewbie:也不要從浮點轉過去.. 10/09 11:31
archerlin:請問O大精確的四捨五入用NumberFormat何解? ^^ 10/09 11:36
Egriawei:我會用int轉型相減,%取位數值,if最後合併,不懂用高級api 10/09 14:02
Egriawei:或者只是要印出的話也可以搭配1.5的printf 10/09 14:07