Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

tryParse int/double

Estou enfrentando um erro nesta parte do curso e não consegui enxergar o que pode ser.

TextField(),
          ElevatedButton(
            onPressed: () {
              debugPrint('clicou no confirmar!');
              final int numeroConta = int.tryParse(_controladorCampoNumeroConta.text);
              final double valor = double.tryParse(_controladorCampoValor.text);
              if(numeroConta != null && valor!= null) {
                final transferenciaCriada = Transferencia(valor, numeroConta);
                debugPrint('$transferenciaCriada');
              }
            },

O erro apresentado é este:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas
solução!

Boa tarde, isto é por conta do null safety. Resumidamente você precisaria inserir as linhas como

TextField(),
          ElevatedButton(
            onPressed: () {
              debugPrint('clicou no confirmar!');
              final int? numeroConta = int.tryParse(_controladorCampoNumeroConta.text);
              final double? valor = double.tryParse(_controladorCampoValor.text);
              if(numeroConta != null && valor != null) {
                final transferenciaCriada = Transferencia(valor, numeroConta);
                debugPrint('$transferenciaCriada');
              }
            },

Colocando o sinal de interrogação antes do tipo da variavel. Onde você estaria dizendo que as variáveis podem aceitar valores que possam ser null. Como o tryParse tem em seu retorno o valor sendo int? você deve declarar a variavel como possivel de receber este valor.

Vou aplicar as alterações sugeridas e retorno aqui. Obrigado.

Obrigado Marcos, funcionou!