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

Numero negativo

Como eu evito(ou de erro) quando o usuário digitar um número negativo

3 respostas
solução!

Você pode usar um if e informando se o valor da variável for menor que zero não faz nada...

ex: Se o usuário informar um valor abaixo de zero será exibido uma mensagem dizendo que o valor é menor que zero, mas se o usuário informar um valor acima ou igual a zero o valor informado é exibido na tela.

<script>
var numero = parseInt(prompt("Digite um valor"));

if(numero < 0) {
    alert("O valor informado é menor que zero");
}else {
    document.write(numero);
}
</script>

Uma outra alternativa é você usar a função Math.abs(numero) que converte o valor negativo em positivo.

<meta charset="UTF-8">
<script>

let idadeIndividuo1 = prompt("Digite a idade do primeiro indivíduo:"),
    idadeIndividuo2 = prompt("Digite a idade do segundo indivíduo:"),
    diferencaIdade = idadeIndividuo1 - idadeIndividuo2;

function pulaLinha(){
    document.write("<br>");
}

function titulo(){
    document.write("CALCULADORA DE DIFERENÇA DE IDADE ");
        pulaLinha();
}

function diferenca(){
    document.write("A diferença é de " + Math.abs(diferencaIdade) + " anos.");
}

titulo();
diferenca();

</script>

Oi Felipe considerando que ninguém tem uma idade negativa o correto seria indicar visualmente para o usuário que ele entrou com um dado inválido, existem muitas maneiras de se fazer essa checagem e esse retorno para o usuário o mais comum é quando vemos um campo do formulário que muda de cor lá onde o dado tá inválido, esse tipo de técnica é feito com Javascript tmb, inclusive é ensinado no Curso de Javascript da Alura. Mas por hora vamos fazer o seguinte você vai pedir o dado do usuário e enquanto esse dado não for válido ou seja enquanto ele for negativo você vai continuar pedindo esse valor informando primeiramente que o dado não pode ser negativo, consegue implementar essa lógica aí, tenta. Não acho uma boa ideia nesse caso utilizar a função Math.abs(x), porque se trata de um erro e deve ser tratado. Já no caso dele digitar uma idade menor e depois uma maior aí sim seria interessante utilizar a função que tornará o número positivo.