2014-07-10 93 views
1
public void afterTextChanged(Editable s) { 
     // TODO Auto-generated method stub 
     if(editText != null) 
     { 
      if(editText.getText().length() > 0){ 
        String TL = null; 
        DecimalFormat formatter = new DecimalFormat("#,###"); 
        String ss = ""; 
        try{ 
         ss = editText.getText().toString(); 
         ss = ss.replace(".", ""); 
         ss = ss.replace(",", ""); 
         Long number = Long.parseLong(ss); 
         ss = formatter.format(number); 
        }catch(Exception e){ 
         ss = e.toString(); 
        } 
        changeText(editText,ss); 
       } 

      editText.setSelection(editText.length()); 
      } 

    } 

當用戶輸入50000的值時,editText中的回答爲50.000。但是, 我不想點。我想逗號爲50,000。我該怎麼做 ?在Java中,將點轉換爲逗號DecimalFormat中的替換方法

回答

2

javadoc

formatter.setDecimalSeparator('.'); 
formatter.setGroupingSeparator(','); 

或者更危險,因爲全球

Locale.setDefaultLocale(Locale.US); 
+0

感謝您的答覆,其工作。非常感謝! – ogulcan1912