проверка условий для ввода номера будет между 0 и 9 0r десятичной «.»

#android

#Android

Вопрос:

у меня есть текстовое поле редактирования, в котором я могу ввести буквенно-цифровой символ, но когда я нажимаю кнопку summit, тогда проверка будет выполняться для любого текста редактирования, содержащего значения от 0 до 9, а также может содержать «.» и в другом случае появится сообщение о том, что «пожалуйста, введите числовые значения», так чтокак этого добиться? означает проверку 0123456789 и «.» в текстовом поле редактирования

    public void onClick(View arg0) {






                String Ammount =
                        ((EditText) findViewById(R.id.price))
                          .getText().toString();

              double db = Math.ceil(Integer.parseInt(Ammount)*100)/100;
              ammount = Double.toString(db);

            }};
  

Ответ №1:

Зачем напрягаться, просто не разрешайте вводить строку в вашем xml add:

 <EditText
....

android:inputType="numberDecimal"
...
  

/>

Ответ №2:

добавьте этот тег в свой xml android:numeric = "decimal"

Ответ №3:

Одним из вариантов будет использовать регулярное выражение. При validate возврате false отображается сообщение об ошибке.

     boolean validate(String s )
   {
      return s.matches("[0-9\.]*");
   }