Neste tutorial de nosso Curso de JS online e grátis, vamos propor um exercício, resolver e comentar cada parte do código.
Este tutorial faz parte da seção de Testes Condicionais.
Tutorial anterior: IF e ELSE aninhados
Como saber se um número é positivo ou negativo em JavaScript
Exercício de JS
"Escreva um script em JS que vai solicitar ao usuário um número. Em seguida, vai verificar e dizer se ele é positivo ou negativo."Questão resolvida
Bom, vamos lá.Primeiro, vamos cuidar do HTML. Vamos usar um formulário de input do tipo numérico (number):
Digite um numero: <input id="numero" type="number">Agora, o nosso botão, que ao ser clicado vai chamar a função teste() do JavaScript:
<button onclick="teste()">Testar</button>Prontinho, agora vamos para a programação JS em si.
Vamos criar a função teste(), que vai ser acionada ao clicarem o botão.
A primeira coisa que ela vai fazer é pegar o valor digitado no formulário de input, o trecho do código que faz isso é:
- document.getElementById("numero").value
Ele vai pegar a string, pois como estudamos, tudo digitado dentro do input é uma string.
Agora vamos pegar essa string e jogar dentro da função parseFloat() (Como converter string para float), e por fim, pegar esse float e armazenar na variável num.
Tudo isso é feito apenas com essa linha de código:
- var num = parseFloat(document.getElementById("numero").value);
Poderia ser assim, por exemplo
- var num;
- num = document.getElementById("numero").value;
- num = parseFloat(num);
Mas condensamos numa linha só, como mostrado anteriormente.
Agora vem toda a lógica do IF e ELSE.
Já temos o número digitado pelo usuário armazenado na variável num. Vamos testar ela.
Primeiro, usamos o comando IF para saber se ela é maior 0, se for, o número é positivo e acaba aí:
if (num > 0)
Errado! Ué, pode ser que seja igual a 0. Ou seja, nem maior nem menor que 0!
E agora, José?
Agora vamos colocar outro teste condicional dentro do ELSE.
Vamos aninhar um IF pra saber se o número é menor que 0. Se for, diz que é negativo:
E se não for? Aí cai no ELSE aninhado, par desse IF aninhado. Se cair nesse segundo else é porque não é maior, nem menor que zero...ou seja, é zero! Dizemos que é nulo!
- if(num < 0)
Código JavaScript da questão
<!DOCTYPE html> <html> <head> <title>Curso JavaScript Progressivo</title> Digite um numero: <input id="numero" type="number"> <button onclick="teste()">Testar</button> <script type="text/javascript"> function teste(){ var num = parseFloat(document.getElementById("numero").value); if (num > 0) alert(num + " eh Positivo"); else if(num < 0) alert(num + " eh Negativo"); else alert("Nem positivo nem negativo, nulo"); } </script> </head> </html>
Resultado do Script
Teste você mesmo o resultado:Digite um numero:
Nenhum comentário:
Postar um comentário