В Java преобразуйте точку в запятую в методе замены DecimalFormat

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 равен 50 000 в editText. Но я не хочу расставаться. Я хочу запятую, как 50 000. Как мне это сделать?

Теги:
android-edittext
replace
decimalformat

1 ответ

2
Лучший ответ

См. Javadoc

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

Или более опасно, как глобальное

Locale.setDefaultLocale(Locale.US);
  • 0
    спасибо за ваш ответ, он работает. большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню