Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] DESAFIO 8 - parseFloat

Olá, a todos!

Fazendo o desafio 8, cheguei a uma resolução parecida com a do desafio porem sem usar o parseFloat(). Gostaria de saber qual a diferença entre as duas soluções, ou se apenas metodo de cleancode!

Abaixo os dois codigos!

let numero = prompt('Insira seu numero');
if (numero == 0){
    console.log('Voce escolheu numero 0');
} if (numero > 0){
    console.log('Positivo');
} else{
    console.log('Negativo');
}
var numero = parseFloat(prompt("Digite um número:"));


if (numero > 0) {
    console.log("O número é positivo.");
} else if (numero < 0) {
    console.log("O número é negativo.");
} else {
    console.log("O número é zero.");
}
2 respostas
solução!

Olá, Daniel! Como vai?

Entendi sua dúvida sobre o uso do parseFloat() e a diferença entre as duas soluções que você apresentou. Vamos lá!

No primeiro código, você está pegando o valor do prompt como uma string e comparando diretamente com números. Isso pode funcionar em alguns casos, mas pode levar a comportamentos inesperados, porque o prompt sempre retorna uma string. Por exemplo, se você digitar "0", "0" como string é igual a 0 como número, mas se você digitar "0.0", ele não será considerado igual a 0, pois a comparação será feita entre strings.

No segundo código, você usa parseFloat(prompt("Digite um número:")), que converte a string retornada pelo prompt em um número de ponto flutuante. Isso é importante porque permite que você faça comparações numéricas precisas. Por exemplo, se o usuário digitar "3.14", o parseFloat converte isso para o número 3.14, e suas comparações numéricas serão precisas.

Em termos de clean code, usar parseFloat() ou parseInt() quando você espera um número é uma prática recomendada, pois torna seu código mais robusto e menos propenso a erros causados por comparações de tipos diferentes.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Ola Mike!

Muito obrigado pelo esclarecimento!