2016-08-18 4 views
1

У меня есть столбец Number (9,4) в базе данных. Я хочу отправить данные столбца, которые вошли в edittext.android regex и десятичный формат

Я должен контролировать формат 123456789.1234 и контролировать только число и точку.

Я нахожу регулярное выражение для числа и точки, но у меня нет десятичного формата. Пользователь не может ввести 123.12345 или 1234567891.1

Как я могу это сделать?

Мои регулярные выражения:

"^*[0-9\\.]+$" 

контрольный код EditText является:

 txtTabelaEni.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void afterTextChanged(Editable s) 
     { 
      String text = txtTabelaEni.getText().toString(); 
      if (text.length() > 0) { 
       if (!text.substring(text.length() - 1).matches(regexStr)) 
       { 
        txtTabelaEni.setText(text.substring(0, text.length() - 1)); 
        txtTabelaEni.setSelection(txtTabelaEni.length()); 
       } 
      } 
     } 
     @Override 
     public void onTextChanged(CharSequence s, int st, int b, int c){ } 
     @Override 
     public void beforeTextChanged(CharSequence s, int st, int c, int a){ } 
    }); 

ответ

2

Я должен контролировать формат 123456789.1234 и контролировать только номер и точка.

Вы можете использовать это регулярное выражение в Java:

String re = "^\\d{0,9}\\.\\d{1,4}$" 

В случае, если вы хотите, чтобы дробную часть необязательно затем использовать:

String re = "^(\\d{0,9}\\.\\d{1,4}|\\d{1,9})$" 
+0

я не могу номер записи с этим регулярным выражением? – mobileprogramming

+0

Извините, не понял ваш комментарий, вы можете уточнить? – anubhava

+0

, когда я использую ваше регулярное выражение в своем edittext, я не могу написать точку (.) И могу написать 12345678912. Я не хочу писать более девяти символов в точку – mobileprogramming

0

Попробуйте эту модель:

\d+($|(\.($|\d+$))) 

Он ищет последовательность цифр, затем одну из:

end of string - matches 123 
a dot and end of string - matches 123. 
a dot and more digits and then end of string - matches 1234.45 

А с письмом после того, как она не будет соответствовать

+0

Я не могу добиться успеха – mobileprogramming

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