Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por que "6*0.3 = 1.7999999999999998" ao invés de 1.8, a calculadora é diferente ou fiz o código errado?

Por que aparece "1.7999999999999998" ao invés de "1.8"?

<meta charset="UTF-8">

<script>

    alert("ATENÇÃO, CONTA A SEGUIR!");
    document.write("<h1>");
    document.write("Olá, me chamo Fernando e hoje fui ao mercado, lá comprei: <br>");
    document.write((6) + " pães de forma <br>");
    document.write("Considerando que o pão custa 30 centavos a unidade, quanto gastei?<br>");
    document.write("</h1>") ;
    document.write("<h2>");
    document.write ("Foram " + (6*0.30) + " reais <br>");
    document.write("</h2>");

</script>
1 resposta
solução!

Fala Fernando, Beleza?

Não tem nada errado.Apenas há mais casas decimais no número 1.7999999999999998 comparado ao 1.8.

Ocorre que há um arrendamento do número para exibição. Você pode controlar isso adicionando um toFixed() no resultado. Tomar cuidado apenas no tipo do item que sairá de number para string, adicionando esse método toFixed.

document.write ("Foram " + ((6*0.30).toFixed(1)) + " reais <br>");