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

Arredondamento de casas decimais

    sacar(valor) {
        let taxa = 1.1;
        const valorSacado = taxa * valor;
        console.log("___________________ > ", valorSacado);
        if (this._saldo >= valorSacado) {
            this._saldo -= valorSacado;
            return valorSacado;
        }
    }

meu código acima dá resultados com valores decimais com muitas casas, o output fica:

ContaCorrente {
  _saldo: 27.500000000000004,
  _cliente: Cliente { nome: 'Marcela Montanari', _cpf: 22233344409 },
  _agencia: 1001
}
ContaCorrente {
  _saldo: 17.49999999999999,
  _cliente: Cliente { nome: 'Alecsi Montanari', _cpf: 11122233309 },
  _agencia: 1001
}
    }

como proceder para não haver esse número alto de casas decimais?

Obrigado!

3 respostas

Oi, Alecsi, tudo bem?

Tem alguns método em Javascript que podem nos auxiliar no momento de arrendondar:

Uma sugestão, seria:

 _sacar(valor, taxa){
        const valorSacado = taxa * valor;
        const valorSacadoArrendondado = valorSacado.toFixed(1);;
        if (this._saldo >= valorSacadoArrendondado) {
            this._saldo -= valorSacadoArrendondado;
            return valorSacadoArrendondado;
        }

        return 0;
    }

Criei uma variável em que separo o cálculo que será arredondado com o auxílio do toFixed(1) para retornar o valor arredondado, nesse caso, para cima. NO teste que fiz, sem o método toFixed()

ContaCorrente {
  _saldo: 405.29999999999995,
  _cliente: Cliente { nome: 'Ricardo', _cpf: 11122233309 },
}

Com o método toFixed()

ContaCorrente {
  _saldo: 405.3,
  _cliente: Cliente { nome: 'Ricardo', _cpf: 11122233309 },
  _agencia: 1001
}

Qualquer dúvida é só falar!

solução!

Olá Laís,

Obrigado pelo retorno! Implementado com o .toFixed(2) para usar como centavos e ficou ótimo! Muito obrigado!

#boraCodar

Oi, Alecsi! Que bom que deu certo :}} vamos codar!!

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