Как установить формат валюты для редактирования текста? - PullRequest
0 голосов
/ 10 октября 2019

я пытался использовать мой MoneyWatchHelper, но если я изменил Locale US на Locale ID, я получаю ошибку, подобную этой:

java.lang.NumberFormatException: Для входной строки: "Rp00"

и первый символ как всегда 0

здесь мой MoneyTextWatcher код:

    @Override
    public void afterTextChanged(Editable editable) {
        EditText editText = editTextWeakReference.get();
        if (editText.equals(null)) return;

        String s = editable.toString();
        if (s.isEmpty()) return;
        editText.removeTextChangedListener(this);

        String clearString = s.replaceAll("[$,.]", "");
        BigDecimal parsed = new BigDecimal(clearString).setScale(0, BigDecimal.ROUND_FLOOR).divide(new BigDecimal(1000), BigDecimal.ROUND_FLOOR);
        String formatted = NumberFormat.getCurrencyInstance(new Locale("id", "id")).format(parsed);

        editText.setText(formatted);
        editText.setSelection(formatted.length());
        editText.addTextChangedListener(this);
    }

любая помощь будет оценена

...