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

Como usar "," ao invés de "." para informar, por exemplo, a altura em metros?

Saudações! Me surgiu uma dúvida. Conforme já sugerido em algum nerdcast tech, devemos esperar de tudo vindo do usuário. Como estamos no Brasil e as pessoas aqui estão acostumadas a escrever números decimais com vírgula e não ponto, tem alguma forma de eu fazer o cálculo do imc, por exemplo, se o usuário digitar uma altura de 1,80 ao invés de 1.80? Eu pensei na solução de pedir a altura em centímetros e adaptar meu programa para calcular em centímetros, mas e se eu quiser que seja em metros?

4 respostas

Olá, Bruno!

Você teria que ler a string do usuário e processá-la, trocando vírgulas por ontos.

Você pode fazer isso com a função replace da string.

Exemplo:

"1,80".replace(",", ".")

O resultado será:

"1.80"

Obrigado! Mas não entendi onde eu encaixaria a função replace... Poderia me dar um exemplo com esse código, por favor?

    function pulaLinha() {
        document.write("<br><br>");
    }
    function mostra(texto) {
        document.write(texto);
        pulaLinha();
    }
    function calculaImc(peso, altura) {
        return peso/(altura*altura);
    }
    var nome = prompt("Qual é o seu nome?");
    var altura = prompt(nome+", favor informar a sua altura(em metros): ");
    var peso = prompt(nome+", favor informar seu peso (em kg): ");

    mostra(nome+", o seu IMC é "+calculaImc(peso, altura));
solução!

Bruno,

Seria logo após obter a altura e peso digitados pelo usuário.

Poderíamos mudar para algo como:

 var alturaDigitada = prompt(nome+", favor informar a sua altura(em metros): ");
var altura = alturaDigitada.replace(",", ".");

var pesoDigitado = prompt(nome+", favor informar seu peso (em kg): ");
var peso = pesoDigitado.replace(",", ".");

Muito Obrigado!!! =D