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