1
resposta

Não aparece o preço

Com meu código está dando erro no preço do produto.

function adicionar() {
    //recuperar valores nome do produto, quantidade e valor
    let produto = document.getElementById('produto').value;
    let nomeProduto = produto.split('-')[0];
    let valorUnitario = produto.split('R$ ')[1]; 
    let quantidade = document.getElementById('quantidade').value; 
    //calcular o preço, o nosso subtotal
    let preco = quantidade * valorUnitario;
    let carrinho = document.getElementById('lista-produtos');
    //adicionar no carrinho
        carrinho.innerHTML = carrinho.innerHTML + `<section class="carrinho__produtos__produto">
    <span class="texto-azul">${quantidade}x</span> ${nomeProduto} <span class="texto-azul">R${preco}</span>
  </section>`;
}

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

1 resposta

Oi, Isabelle! Tudo bem?

De acordo com o código enviado, o problema com o cálculo do preço do produto está ocorrendo pois o valor unitário está sendo recuperado corretamente, mas o cálculo do preço final não está sendo feito corretamente.

Uma possível solução para esse problema é converter o valor unitário para um número antes de fazer o cálculo, o que podemos fazer utilizando a função parseFloat(). Assim, o trecho do código que calcula o preço deve ficar da seguinte forma:

let valorUnitario = parseFloat(produto.split('R$ ')[1]);
let preco = quantidade * valorUnitario;

Dessa forma, o valor unitário será convertido para um número decimal, permitindo que o cálculo seja feito corretamente.

Espero ter ajudado! Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓

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