嘿,我已經使用這個代碼,它適用於API 17(4.2.2)。所以我認爲應該對API 15歲及以上的工作。
public static String Round(String Rval, int Rpl) {
DecimalFormat df = null ;//("#.00");
String finalStr = "";
if(Rval.contains(".")){
String [] inputArr = Rval.split("\\.");
String newValue = "";
/*if(inputArr[1].length() == 1){
inputArr[1] = inputArr[1] + "0";
}else if(inputArr[1].length() >= 2){
inputArr[1] = inputArr[1].substring(0,2);
//inputArr[1] = String.valueOf(Math.round(Integer.parseInt(inputArr[1])));
}*/
int length = inputArr[0].length();
if(length == 7){
df = new DecimalFormat("#,###,###.00");
newValue = df.format(Double.parseDouble(Rval));
}else if(length == 8){
df = new DecimalFormat("#,##,##,###.00");
newValue = df.format(Double.parseDouble(Rval));
}else if(length == 9){
df = new DecimalFormat("##,##,##,###.00");
newValue = df.format(Double.parseDouble(Rval));
}else if(length == 6){
df = new DecimalFormat("###,###.00");
newValue = df.format(Double.parseDouble(Rval));
}else if(length == 5){
df = new DecimalFormat("##,###.00");
newValue = df.format(Double.parseDouble(Rval));
}else if(length == 4){
df = new DecimalFormat("#,###.00");
newValue = df.format(Double.parseDouble(Rval));
}else{
df = new DecimalFormat("#0.00");
newValue = df.format(Double.parseDouble(Rval));
}
finalStr = newValue ;//+"."+ inputArr[1];
}else{
finalStr = Rval + ".00";
}
return finalStr;
}
我已經檢查過我的設備了,請糾正我,如果我錯了,但不投票。 的minSdkVersion 15
做你的正則表達式 –
@VivekMishra嘗試,我會試試看。感謝這個想法。 – Edper