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

Como eu poderia corrigir o meu código para mostrar casas decimais?

<meta charset="UTF-8">
<h2> Gastos da Semana</h2>

<script>
    var valorInicial = 500.00;
    var domingo = 5.00;
    var segundaFeira = 20.00;
    var tercaFeira = 10.00;
    var quartaFeira = 30.00;
    var quintaFeira = 15.00;
    var sextaFeira = 40.00;
    var sabado = 100.00;
    var totalGastosSemana = domingo + segundaFeira + tercaFeira + quartaFeira + quintaFeira + sextaFeira + sabado;

    document.write("Meu saldo inicial da semana era de R$ " + valorInicial + ",00.<br>");
    document.write("<br> O Total de gastos durante a semana foi de R$ " + totalGastosSemana + ". <br>");
    document.write("<br> O saldo disponível, após uma semana é de R$ " + (valorInicial - totalGastosSemana) + ". <br>");

    var mediaGastos = totalGastosSemana / 7;
    document.write("<br> A Média de gastos da semana foi de R$ " + Math.round(mediaGastos) + " por dia <br>");

    var porcentagemGastos = totalGastosSemana / valorInicial * 100;
    document.write("<br> Foram gastos " + porcentagemGastos + "% do meu valor inicial. <br>");


</script>

Minha dúvida foge um pouco até do foco do curso, mas eu agradeço se alguém puder solucionar essa curiosidade rs.

Escrevi esse código pra praticar o que foi aprendido durante as aulas, notem que eu dei uma "roubada" ali no primeiro document.write inserindo manualmente ",00" pra na hora da concatenação a informação ser exibida na sua formatação correta. Minha duvida seria essa mesmo, o que eu poderia ter feito pra imprimir na tela os valores certinhos com as casas decimais, sem precisa "roubar" como eu fiz?

De novo, eu sei que a proposta do exercício é praticar e fixar os conceitos de logica de programação, peço inclusive desculpas caso esteja saindo muito do foco do curso, mas foi uma dúvida que me ocorreu, e embora eu esteja satisfeito até com o que eu fiz, eu gostaria de poder corrigir, caso fosse possível.

2 respostas
solução!

Olá Lucas, como vai?

Não tem motivos para se desculpar. Na verdade é uma ótima pergunta.

Podemos utilizar o toFixed(). Se queremos mostrar duas casas decimais escrevemos toFixed(2), caso desejemos três toFixed(3)e assim por diante.

Veja no código:

document.write("<br> A Média de gastos da semana foi de R$ " + mediaGastos.toFixed(2) + " por dia <br>");

Espero ter ajudado. Qualquer dúvida estamos por aqui.

Abraços

Agora sim, ficou exatamente do jeito que eu queria. Muito obrigado pela ajuda!!