ma_gr 2 Denunciar post Postado Dezembro 23, 2014 Tô com o seguinte problema: fiz um app básico de cálculo de IMC pra treinar, já que estou iniciando em desenvolvimento android. Quando emulo ele no pc tudo ocorre certinho. Calcula, dá resultados e tudo mais.Mas quando passo pro smartphone, na hora de calcular o app para de funcionar. Quando passo números inteiros no smartphone ele funciona de boa tbm. O que tem de errado nesse código? public void calcularIMC(View view){ EditText pesoI = (EditText) findViewById(R.id.pesoId); EditText altI = (EditText) findViewById(R.id.alturaId); Intent i = new Intent(this, get_results.class); Bundle params = new Bundle(); String p = pesoI.getText().toString(); String a = altI.getText().toString(); double peso = Double.parseDouble(p); double alt = Double.parseDouble(a); double altfinal = alt * alt; double imc = peso / altfinal; DecimalFormat duasCasas = new DecimalFormat("0.##"); Double resultado = Double.parseDouble(duasCasas.format(imc)); params.putDouble("IMC", resultado); i.putExtras(params); startActivity(i); } Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Dezembro 23, 2014 Pode ser que o método parseDouble tenha lançado NumberFormatException Faça o tratamento com try catch. Talvez tenha algo a ver com . e , Como está passando um número não inteiro? Compartilhar este post Link para o post Compartilhar em outros sites
ma_gr 2 Denunciar post Postado Dezembro 24, 2014 vou tentar o try catch..passo números com . (pontos)... Ex: 1.74 Compartilhar este post Link para o post Compartilhar em outros sites