Boa Tarde não estou conseguindo fazer o calculo da porcentagem esta dando Error me ajudem por favor
Boa Tarde não estou conseguindo fazer o calculo da porcentagem esta dando Error me ajudem por favor
Oii, Robson! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.
O erro ao usar o símbolo de porcentagem %
tá relacionado ao comportamento do eval()
. Em JavaScript, o operador %
não é usado para porcentagem como em uma calculadora comum, e sim para resto da divisão. Por exemplo, 10 % 3
resulta em 1
, e não em 10% de 3
.
Se você quer que o botão %
calcule a porcentagem de um número (por exemplo, 50%
se transforme em 0.5
), você precisa tratar isso antes de chamar o eval
. Uma dica é criar um tratamento específico para esse símbolo. Veja um exemplo de como adaptar isso:
function result() {
const display = document.querySelector('#display')
try {
const expressao = display.value.replace(/%/g, '/100')
display.value = eval(expressao)
} catch {
display.value = "Error"
}
}
Esse ajuste transforma 50%
em 50/100
, que é o comportamento esperado de uma calculadora padrão.
Espero ter ajudado.