來源:透析公式處理,有時候數據有很長的小數位,有的時候由在四位之內,若是用通常的處理方法,那麼不足四位的小樹會補充0到第四位,這樣子有點多此一舉的感受,不太好看。因此要根據小數的位數來處理判斷。java
思路:先把數的小數位和整數位分開成分別的數字字符串,判斷小數字符串的長度,若是小於等於四位則直接把原來的數變成字符串返回;若是大於四位,則用字符串函數截取前四位,舍掉尾數。最後把整數部分和小數部分拼接起來返回,就完成了。git
/** * @描述:把計算結果根據小數點的位數截取合適的值。即若是小數點位數小於等於4則不作處理,若是大於四則取前四位 * @方法名: SubFourPoint * @建立人:陳洋 * @建立時間:2018年6月25日下午2:24:40 * @param number * @return * @return String */ private static String SubFourPoint(double number) { int aa = (int) Math.floor(number); //獲取整數部分 String bb = String.valueOf(number).replaceAll("\\d+\\.", ""); //獲取小數部分 String dd = ""; if(bb.length() > 4) { String cc = bb.substring(0, 4); //截取前四位小數 if("0000".equals(cc)) { dd = String.valueOf(aa); }else { dd = String.valueOf(aa)+"."+cc; } }else { dd = String.valueOf(number); //不處理小數位,直接轉成String類型 } return dd; }
擴展:其餘的處理保留小數位的方法。函數
第一種:code
java.text.DecimalFormat df =new java.text.DecimalFormat("#.00"); df.format(你要格式化的數字);
第二種:orm
double d = 3.1415926; String result = String .format("%.2f",d);
第三種:ci
double x=23.5455; NumberFormat ddf1=NumberFormat.getNumberInstance(); ddf1.setMaximumFractionDigits(2); String s= ddf1.format(x) ;