1、返回 String 類型數據code
對數據進行處理後,返回 String 類型數據,能夠經過以下方式進行處理:orm
二者達到的效果是同樣的。ci
- 小數點後位數不足的,補0 - 四捨五入,對數據截斷
Double d = 123.451789D; DecimalFormat decimalFormat = new DecimalFormat("#.0000000"); DecimalFormat decimalFormat2 = new DecimalFormat("#.000"); DecimalFormat decimalFormat3 = new DecimalFormat("#.00"); //補齊位數 System.out.println(decimalFormat.format(d)); //四捨五入 System.out.println(decimalFormat2.format(d)); System.out.println(decimalFormat3.format(d)); //四捨五入 System.out.println(String.format("%.2f",d)); System.out.println(String.format("%.3f",d)); //補齊位數 System.out.println(String.format("%.10f",d));
補充:io
String.format 中對數字處理有以下限制: %[argument_index$][flags][width][.precision][t]conversionform
2、返回 Double 類型數據方法
可經過 BigDecimal 對數據進行處理,在精度的處理上能知足多種需求:im
System.out.println(BigDecimal.valueOf(d).setScale(2, BigDecimal.ROUND_UP).doubleValue()); System.out.println(BigDecimal.valueOf(d).setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue()); System.out.println(BigDecimal.valueOf(d).setScale(1, BigDecimal.ROUND_HALF_DOWN).doubleValue());