Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Construtor Transferencia

Gostaria de tirar uma dúvida

class ListaTransferencia extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        ItemTransferencia(Transferencia(1000, 00001)),
        ItemTransferencia(Transferencia(2000, 00002)),
        ItemTransferencia(Transferencia(3000, 00003)),
      ],
    );
  }
}

Porque na parte da conta ao usar 00001, ou 00003

o número aparece no aplicativo como 1.0, 2.0, 3.0

e como eu posso arrumar isso para que todos os zeros apareçam?

Obrigado!

1 resposta
solução!

Olá Andre, tudo bem ?

Esse é um problema clássico e na verdade tem mais haver com uma pergunta:

Será que faz sentido que o número da conta ser um int?

E normalmente chegamos a resposta que não, da mesma forma que RG e CPF, não realizamos operações matemáticas com esses documentos. O número da conta é um identificador que poderia ser tranquilamente uma String sem perca nenhuma de significado

E é justamente esse problema, quando colocamos 00001o Flutter vai ignorar os 0 que estão a esquerda pois ele não sabe que se trata de um identificador, assim como na matemática, esses zeros no mundo dos números naturais são desnecessários :)

Existem linguagens que fazem até pior, como por exemplo o python acaba considerando 00001 como um número na base octal e da uma exceção

Então no final das contas o que faz sentido seria em Transferencia que o atributo numeroConta fosse do tipo String, dessa forma ao inserir um dado 0001 ele continuaria da forma correta :)

Abraços e Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software