Olá, Filipe! Tudo bem?
Logo de início, peço desculpas pela demora em retornar.
Por padrão, a função prompt()
coleta as informações recebidas e as transforma em tipo string, isto é, tipo texto (mesmo que o dado seja um número, tal como ocorre em seu código). Nesse sentido, quando tentamos trabalhar com números que foram transformados em string, não conseguimos realizar determinadas operações matemáticas — como soma e subtração.
Para que seja possível realizar tais operações, precisamos transformar o dado recebido por prompt()
, logo em sua chamada, em um valor numérico, como mostra o exemplo abaixo:
var p = parseFloat(prompt("informe o preço de custo do produto na nota"));
Observe que agora há uma nova função em torno de prompt()
. A função parseFloat()
é utilizada para converter certos valores em números reais. Sendo assim, depois desta alteração, conseguimos realizar o cálculo corretamente!
Filipe, caso queira ver como ficou todo o código após as alterações, aqui está:
<meta charset="UFT-8">
<h1> calculadora de preços</h1>
<script>
alert("informe os valores solicitados");
var p = parseFloat(prompt("informe o preço de custo do produto na nota"));
var f = parseFloat(prompt("informe o valor do frete"));
var s = parseFloat(prompt("informe o ST em %"));
function calcula (s, p, f) { return 1.45*(s/100 + 1)*(p + f); }
document.write(" o preço de revenda é: " + calcula(s, p, f));
</script>
Espero tê-lo ajudado! Caso surjam outras dúvidas, estarei à disposição para te auxiliar!
Forte abraço.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.