Android String字串擷取小數點後兩位,Double擷取小數點後兩位
阿新 • • 發佈:2019-02-01
public String formateRate(String rateStr){ if(rateStr.indexOf(".") != -1){ //獲取小數點的位置 int num = 0; //找到小數點在字串中的位置,找到返回一個int型別的數字,不存在的話返回 -1 num = rateStr.indexOf("."); String dianAfter = rateStr.substring(0,num+1);//輸入100.30,dianAfter = 100. String afterData = rateStr.replace(dianAfter,"");//把原字元(rateStr)串包括小數點和小數點前的字元替換成"",最後得到小數點後的字元(不包括小數點)//判斷小數點後字元的長度並做不同的操作,得到小數點後兩位的字串 if(afterData.length() < 2){ afterData = afterData + "0" ; }else{ afterData = afterData; } //返回元字串開始到小數點的位置 + "." + 小數點後兩位字元 return rateStr.substring(0,num) + "." + afterData.substring(0,2); }else{ if(rateStr == "1"){ return "100"; }else{return rateStr; } } }
下面是Double擷取小數點後兩位
public static String cutDoubleNumber(Double number) { // java.text.DecimalFormat df = new java.text.DecimalFormat("0.00"); df.setRoundingMode(RoundingMode.FLOOR); String d=df.format(number); //四捨五入保留兩位小數,number.toString()是一個Double值 // double v = new BigDecimal(number.toString()).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();return d; }