Criei um código pra calcular a porcentagem de votos brancos, nulos e válidos de acordo com o valor informado pelo usuário. No entanto, quando fui testar, ao colocar o total de eleitores como 100, votos em branco 36, nulos 36 e válidos 28, a porcentagem de números válidos não dá 28% exatos. O navegador mostra 28.000000000000004%. Gostaria de saber o porquê disso, já que 36 +36 + 28 = 100. Achei que usando valores que somam 100, não haveria necessidade de utilizar o Math.round.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
pulaLinha();
}
function calculaPercentual(a, b) {
percentual = a/b * 100;
return percentual;
}
var totalDeEleitores = parseInt(prompt("Informe o número total de eleitores:"));
var totalBrancos = parseInt(prompt("Informe o número de votos em branco:"));
var totalNulos = parseInt(prompt("Informe o número de votos nulos:"));
var totalValidos = parseInt(prompt("Informe o número de votos válidos"));
mostra("O percentual de votos em branco é de " + calculaPercentual(totalBrancos, totalDeEleitores) + "%");
mostra("O percentual de votos nulos é de " + calculaPercentual(totalNulos, totalDeEleitores) + "%");
mostra("O percentual de votos válidos é de " + calculaPercentual(totalValidos, totalDeEleitores) + "%");
</script>