1
resposta

Duvida de como verificar strings em dart

Segue o link do repositório do git hub https://github.com/vfreire0915/ClassesComDart/blob/main/humano.dart, aqui fiz um projeto que recebe dados do usuário e calcula o IMC, e usando classes e métodos fiz algumas outras coisas que achei bem legal, porém na função (linha 63) que criei que verifica a string nula, quando recebe o valor null ela da erro, ja fiz um else if (input == null) {valorDoInput = 0}, porém da erro mesmo assim.

1 resposta

Olá, Vitor! Tudo bem?

Desculpa a demora, estou respondendo esse tópico para ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu.

Pelo que entendi, você está tendo um problema ao verificar se uma string é nula em Dart. Na função verificaNuloString que você criou, você está tentando tratar o caso em que input é nulo com um else if(input == null), porém está recebendo um erro mesmo assim.

Uma possível solução para esse problema é adicionar um retorno na condição em que input é nulo. Em vez de apenas imprimir a mensagem de erro, você pode retornar um valor padrão, como 0, por exemplo. Assim, você evita o erro e tem um valor para trabalhar no restante do código.

Segue uma sugestão de como ficaria a função com essa alteração, faz o teste:

verificaNuloString(input, tipo){
  if(input != null && tipo == 'int'){
    int valorDoInput = int.parse(input);
    return valorDoInput;
  } else if(input != null && tipo == 'double') {
    double valorDoInput = double.parse(input);
    return valorDoInput;
  } else {
    print('Informe um valor válido.');
    return 0; // Valor padrão para o caso de input ser nulo
  }
}

Dessa forma, quando input for nulo, a mensagem de erro será impressa e o valor retornado será 0.

Espero ter ajudado e bons estudos!