Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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>");