方式一: 方式二: 方式三: 方式四: 完畢!!! ...
方式一:
1 double f = 3.1516; 2 BigDecimal b = new BigDecimal(f); 3 double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
輸出結果f1為 3.15;
源碼解讀:
public BigDecimal setScale(int newScale, int roundingMode) //int newScale 為小數點後保留的位數, int roundingMode 為變數進行取捨的方式;
BigDecimal.ROUND_HALF_UP 屬性含義為為四捨五入
方式二:
String format = new DecimalFormat("#.0000").format(3.1415926); System.out.println(format);
輸出結果為 3.1416
解讀:
#.00 表示兩位小數 #.0000四位小數 以此類推…
方式三:
1 double num = 3.1415926; 2 String result = String.format("%.4f", num); 3 System.out.println(result);
輸出結果為:3.1416
解讀:
%.2f 中 %. 表示 小數點前任意位數 2 表示兩位小數 格式後的結果為f 表示浮點型。
方式四:
1 double num = Math.round(5.2544555 * 100) * 0.01d; 2 System.out.println(num);
輸出結果為:5.25
解讀:
最後乘積的0.01d表示小數點後保留的位數(四捨五入),0.0001 為小數點後保留4位,以此類推......
完畢!!!