Ir ao conteúdo

Javascript Bizarro: Javascript diz que 3 é maior que 10, qual a pegadinha?


Ir à solução Resolvido por DiF,

Posts recomendados

Postado

Muito engraçado, estou fazendo um formulário que pega valores de dois menus dropdown select , ambos têm valores numéricos, mas ao compará-los, o javascript diz que 3 é maior que 10, suspeito que o script esteja pegando só a primeira parte do segundo campo. Como Javascript não tem o tipo INT, não sei como força-lo ver que o zero é um número. Já tentei usar aspas nos números e nada. Alguém sabe o que está gerando essa bizarrice?

 

      function compara(){
        var tempo1 = document.getElementById("tempo1").value;
        var tempo2 = document.getElementById("tempo2").value;
        if(tempo1 > tempo2 ){
            alert("Veja: Tempo1 "+tempo1 +" é maior que " + tempo2 + " mude  !");
            document.getElementById("tempo1").focus();
        }
      }

 

 

Tento colocar o codigo todo aqui no forum mas uma porcaria de página diz que isso é uma invasão, por isso vou colocar só o html dos comando selects

 

 <form>
      Tempo 1 <select  name="tempo1" id="tempo1">
                        <option value=1>1</option>
                        <option value=2>2</option>
                        <option value=3>3</option>
                        <option value=4>4</option>
                        <option value=5>5</option>
                        <option value=6>6</option>
                        <option value=7>7</option>
                        <option value=8>8</option>
                        <option value=9>9</option>
                        <option value=10>10</option>
                        <option value=20>20</option>
                        <option value=30>30</option>
                        <option value=40>40</option>
                        <option value=50>50</option>
                        <option value=60>60</option>
               </select>


       Tempo 2
       <select name="tempo2" id="tempo2">
                        <option value=1>1</option>
                        <option value=2>2</option>
                        <option value=3>3</option>
                        <option value=4>4</option>
                        <option value=5>5</option>
                        <option value=6>6</option>
                        <option value=7>7</option>
                        <option value=8>8</option>
                        <option value=9>9</option>
                        <option value=10>10</option>
                        <option value=20>20</option>
      </select>

    <P>
    <input type="button" value="Calcula" onClick="compara();">

  </form>

 

 

 

  • Moderador
  • Solução
Postado

@sandrofabres  Você pode forçar um valor a ser numérico... use o  parseInt() 

 

 

Por exemplo:

 

var num = "10 dois";

document.getElementById("resultado").innerHTML = parseInt(num);

 

Nesse caso, ele converte a "string" em INT... ou seja, ele vai ignorar o "dois"  e só vai exibir o 10 em valor numérico.. onde até operações matemáticas podem ser feitas

 

https://dev.to/sanchithasr/7-ways-to-convert-a-string-to-number-in-javascript-4l

Postado

ahahahah, essa podem colocar em teste de prova , quem vai imaginar essa pegadinha de Satanás?

Em 27/08/2023 às 21:49, DiF disse:

@sandrofabres  Você pode forçar um valor a ser numérico... use o  parseInt() 

 

 

Por exemplo:

 

var num = "10 dois";

document.getElementById("resultado").innerHTML = parseInt(num);

 

Nesse caso, ele converte a "string" em INT... ou seja, ele vai ignorar o "dois"  e só vai exibir o 10 em valor numérico.. onde até operações matemáticas podem ser feitas

 

https://dev.to/sanchithasr/7-ways-to-convert-a-string-to-number-in-javascript-4l

 

Valeu usei e deu certo parseInt(document.getElementById("tempo1").value);

Digno de provinha sacana de processo seletivo e concurso público.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!