2017-06-09 107 views
-1

工作在Android工作室我想改變「,」爲「。」。在PRICESTRING

的Android應用程序,但沒有對的replaceAll,上面寫着一個彈出窗口:「這個結果將被忽略」

String priceString = mPriceEditText.getText().toString().trim(); 

if(priceString.contains(",")){ 
    priceString.replaceAll(",","."); 
} 

我怎麼能解決這個問題碼?

回答

4

字符串在Java中不可變,因此priceString.replaceAll(",",".")不能更改priceString。相反,它會返回一個您忽略的新字符串。

您需要返回的字符串分配到的東西,例如:

priceString = priceString.replaceAll(",","."); 
0

String#replaceAll()需要一個正則表達式作爲第一個參數,因爲「」是元字符在正則表達式,所以你需要逃避它,或在字符類使用它

String priceString = mPriceEditText.getText().toString().trim(); 
priceString = priceString.replaceAll("[,]","."); // OR 
priceString = priceString.replaceAll("\\,","."); 
+2

你爲什麼逃避逗號(,)它不是一個正則表達式中的特殊。 – Henry

+0

yup @Henry uu是正確的nilesh爲什麼寫前,寫\\? –

+0

@ ND1010_ String#replaceAll()將正則表達式作爲第一個參數,因爲是正則表達式中的元字符,因此您需要將其轉義或在字符類中使用它 –

0

只是priceString.replace(",",".")爲我工作

0

試試上面的代碼

String priceString = mPriceEditText.getText().toString().trim(); 
final String newPriceString; 

    if(priceString.contains(",")){ 
     newPriceString = priceString.replaceAll(",","."); 
    }