1
resposta

Javascript não reconhece a virgula como número fracionado?

Olá,

Durante o exercício de calculo de IMC, percebi que estava me retornando sempre NaN.

Revisei o código de cima a baixo e não achei erros.

Foi ai que percebi que o problema era na hora de inserir a altura no prompt, por costume, estava usando a virgula, ex: 1,71

Mas parece que em javascript, só entende 1.71

Vi no fórum alguem que postou que pode ser resolvido com a função replace, poderiam colocar na didática essa alternativa, ou existe alguma outra?

1 resposta

Olá Murilo!

Entendo a sua dúvida. De fato, em JavaScript, a vírgula não é reconhecida como separador decimal. O ponto é o separador correto para números fracionados.

Uma alternativa para resolver esse problema é utilizar a função replace() para substituir a vírgula pelo ponto. Veja um exemplo de como fazer isso:

var altura = prompt("Digite a sua altura (utilize o ponto como separador decimal):");
altura = altura.replace(",", ".");

Dessa forma, a função replace() irá substituir todas as vírgulas encontradas na string pelo ponto, permitindo que o número seja reconhecido corretamente como um número fracionado em JavaScript.


Eu creio que no momento não teremos isso no conteúdo, mas eu vou deixar sua sugestão de standby para que poder sugerir uma melhoria nisso futuramente.

E se você tiver alguma ideia tente sugerir uma alteração aqui:

print mostrando onde a aluna pode sugerir uma alteração

Assim você virá para essa página:

página de sugestões de melhorias da Alura

No campo 1, você deve classificar o tipo da sua sugestão que no caso aqui é técnica, no campo 2 você deve alterar o que você deseja e adicionar essa metodologia que você sugeriu, mas cuidado, tudo o que você escrever ali será mostrado para os outros alunos EXATAMENTE IGUAL VOCÊ ESCREVEU ALI, mas somente se o time responsável por essas mudanças aprovar a sua sugestão.

No campo 3 explique sua sugestão e o porquê você acha que ela deve ser aprovada. E por fim envie sua sugestão no campo 4.

Em suma era isso. Espero ter ajudado, abraços e bons estudos!