2013-07-04 1 views
0

Я использую свою собственную ключевую загрузку, в которой у меня от 0 до 9, а «.» - десятичная. вызывают ввод плавающего значения, но когда я пытаюсь прочитать значение из приложения edittext, он сбой.Оценка стоимости Android с помощью пользовательских клавиатурных клавиш. давая java.lang.NumberFormatException: Invalid double

из образца приложения я взял этот

<Key 
      android:codes="8226" 
      android:keyLabel="." 
      android:keyWidth="20%p" /> 

, но я думаю, что это не правильный код для периода или десятичной (см между 12 и 45) (т.е. 12.45).

String str ="12.56" 
    double num = Double.parseDouble(str); 

Это дает правильный результат.

, но этот код является причиной сбоя.

String str =edittext.getText().toString(); 
    double num = Double.parseDouble(str); 

любой может помочь.

ответ

0

java.lang.NumberFormatException: Invalid долго

"12.56" не long, вы не можете разобрать его long. Во-вторых, это исключение будет выбрано, если вы используете Long.parseLong(). Что-то не синхронизируется между сообщенным кодом и сообщением об исключении. Также trim()String, чтобы избавиться от лишних пробелов.

+0

моя ошибка его двойная ... извините – Unknown

+0

проблема в keycode я думаю, я получил только это 8226 для десятичного (.) – Unknown

0

изменить это String str =edittext.getText().toString(); с String str =edittext.getText().toString().trim();

он должен работать. В основном вам нужно обрезать строку.

+0

ничего не происходит. – Unknown

Смежные вопросы