1. 程式人生 > >Android String字串擷取小數點後兩位,Double擷取小數點後兩位

Android String字串擷取小數點後兩位,Double擷取小數點後兩位

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; }