double類型數據保留四位小數的另外一種思路

來源:透析公式處理,有時候數據有很長的小數位,有的時候由在四位之內,若是用通常的處理方法,那麼不足四位的小樹會補充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) ;
相關文章
相關標籤/搜索