я пытался использовать мой 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);
}
любая помощь будет оценена