4
respostas

O detalhe do ponto e da virgula.

Exatamente o por que eu não sei, no entanto, notei que o programa retorna erro se a altura for informada com virgula e não com ponto.

Alguém ai sabe me dizer o por que e se tem alguma maneira de driblar isso ?

Obrigado!

4 respostas

Bom dia Wander, blz?

Partindo do ponto que os dados inseridos serão tratados inicialmente como string podemos fazer algo como:

<script>

    function pulaLinha() {

    document.write("<br>");
    document.write("<br>");

    }

    function mostra(frase) {

    document.write(frase);
    pulaLinha();
    }

    var peso = prompt("Informe peso ");
    var altura = prompt ("informe altura ") ;

    peso = peso.toString().replace(",", "."); // substitui a virgula por ponto para realização do cálculo.
    altura = altura.toString().replace(",", ".");// substitui a virgula por ponto para realização do cálculo.

    imc = peso/(altura*altura);

    mostra ("O IMC " + imc + ""); 


</script>

Usando a função replace conseguimos um caracter por outro em uma string. Para saber mais recomendamos a leitura dos artigos abaixo:

Strings com JavaScript: o que são e como manipulá-las

https://www.alura.com.br/artigos/strings-com-javascript-o-que-sao-e-como-manipular

JavaScript replace: manipulando Strings e regex

https://www.alura.com.br/artigos/javascript-replace-manipulando-strings-e-regex?gclid=Cj0KCQjw06OTBhC_ARIsAAU1yOWecQ_HNp4P-cs1pnih5UuAKdrwYYmXI5ybQNiYLU4EwDvImrDO6_YaAjNjEALw_wcB

String.prototype.replace()

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/String/replace

Espero ter ajudado!

Att.

Olá colega, ele retorna erro porque o uso de números decimais em js é feito no padrão americano, que não possui " , " somente " . " , então em qualquer linguagem de programação você deve usar, quando se tratando de números somente o " . " para números reais , caso contrário deve manipula-los conforme o instrutor informou, mas deve haver outras maneiras na leitura dos artigos

Achei excelente o retorno e dicas (que vou acessar) do instrutor e também a informação do Fabio.

Não precisa nem de complemento , depois da explicação do Fabio.. salientando que temos sempre que prestar atenção na endentação e a sintaxe devida de cada linguagem.