Как использовать getText при удалении определенных символов

Здесь нужна простая помощь. По сути, у меня есть эта строка:

String stringA = numA.getText().toString();

Тем не менее, numA editText, который используется, также имеет метод DecimalFormat, вызванный для него до того, как он дойдет до этой точки, что делает вывод похожим на: $###,###,###.00. Итак, когда я иду звонить getText на numA, он падает. Я предполагаю, что это из-за знака $ или запятых. Как мне изменить этот код, чтобы getText ловил только цифры, а не знак $ или запятые?


person REAL O G    schedule 30.10.2014    source источник
comment
Пожалуйста, опубликуйте трассировку стека полученного вами исключения вместе с кодом, генерирующим его (отметив строку, которая вызывает исключение).   -  person azurefrog    schedule 30.10.2014


Ответы (2)


попробуй это:

String stringA = numA.getText().toString().replace("$", "").replace(",", "");
person Shahzad    schedule 30.10.2014
comment
Почему я не подумал о replace? Большое спасибо. - person REAL O G; 30.10.2014

когда я вызываю getText на numA, происходит сбой

Единственное возможное, что ваш EditText numA это NULL.

Обновлять:

Посмотрите Лучший способ форматирования ввода валюты editText?

person user370305    schedule 30.10.2014
comment
Нет, это не потому, что это NULL. Метод фактически проверяет его с помощью предложения if, прежде чем с ним что-либо произойдет. Этот метод действительно работал до того, как я установил DecimalFormat, как я сказал. - person REAL O G; 30.10.2014
comment
toString() вернуть любое объявление класса, которое возвращает метод. Так что только одна возможность - это ваш getText() повтор NULL. Проверьте фактическую трассировку стека после исключения с вопросом. - person user370305; 30.10.2014
comment
Это фактическое исключение при последнем запуске: java.lang.NumberFormatException: Invalid double: $4700,15 - person REAL O G; 30.10.2014
comment
Ага .. Как я уже сказал .. Теперь добавьте в свой вопрос полную трассировку стека с кодом. - person user370305; 30.10.2014