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。我该怎么做 ?
最佳答案
参见javadoc
formatter.setDecimalSeparator('.');
formatter.setGroupingSeparator(',');
或者更危险,因为全局性
Locale.setDefaultLocale(Locale.US);
关于java - 在Java中,在DecimalFormat替换方法中将点转换为逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24675916/