2013-09-26 4 views
0

Im пытается получить строку из EditText и разобрать на двойной. Но я получаю сообщение об ошибке.Как разрешить эту ошибку при разборе строки в два раза?

09-26 10:42:41.589: E/AndroidRuntime(17901): FATAL EXCEPTION: main 
09-26 10:42:41.589: E/AndroidRuntime(17901): java.lang.NumberFormatException: 
09-26 10:42:41.589: E/AndroidRuntime(17901): at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:267) 
09-26 10:42:41.589: E/AndroidRuntime(17901): at java.lang.Double.parseDouble(Double.java:318) 
09-26 10:42:41.589: E/AndroidRuntime(17901): at br.com.going2.Checkincomercial.NovoCheckinActivity$4.onClick(NovoCheckinActivity.java:219) 

код

String controle = ""; 
controle = etCustoNovoCheckin.getText().toString(); 
if(controle == null || controle == ""){ 
custo = 0.0; 
} else { 
custo = Double.parseDouble(controle); 
}  
+0

Custo является поплавком или двойным? –

+0

@BrijeshPatel 'double' в противном случае' custo = 0.0; 'ошибка компиляции –

+0

custo double. – Roland

ответ

0

Попробуйте изменить if заявление с:

if(controle == null || controle.trim() == "" || !controle.matches("\d+\.\d+|\d+")). 

что-то вроде:

String controle = ""; 
controle = etCustoNovoCheckin.getText().toString(); 
if(controle == null || controle.trim() == "" || !controle.matches("\d+\.\d+|\d+")){ 
custo = 0.0; 
} 
else { 
    custo = Double.parseDouble(controle); 
}  
0

попробовать это ..

   String controle = ""; 
       controle = etCustoNovoCheckin.getText().toString(); 
       if(controle.trim().length()>0){ 
       custo = Double.parseDouble(controle); 
       } 
       else { 
       custo = 0.0; 
       } 
+0

привет, этот ответ, если вы считаете это правильным. –

0

Я полагаю, что это:

     if(controle.equals(null) || controle.equals("")){ 
          custo = 0.0; 
         } else { 
          custo = Double.parseDouble(controle); 
         } 

Ошибка в том, что я не использовал .equals для сравнения String.

Спасибо за ответы.

0

Если ваш EditText-Box поддерживает только номера, установите атрибут EditText-Box.

android:inputType="number" 

И вы не попали в эту «неприятность»

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