Why, when I compare 1000 and 500, is 500 always higher in this function in JS?

Asked

Viewed 47 times

0

I wrote this function in Javascript that compares two numbers and tells me which one is the largest:

    function verificarMaiorNumero(x,y){
      if (primeiroNumero > segundoNumero){
        return primeiroNumero + " é maior";
      }else{
        return segundoNumero + " é maior";
      }
    }
      var primeiroNumero = prompt("Digite um número: ");
        do{
          var segundoNumero = prompt("Digite outro número :");
        }while (primeiroNumero == segundoNumero);
        alert(verificarMaiorNumero(primeiroNumero,segundoNumero));

However, when entering with the values 1000 and 500, she always returns to me saying that 500 é maior. Why does this happen? Where is the error in the code?

1 answer

4


The function prompt returns a text value (a String). When you want to compare numbers, you have to use integer type values.

For this just use parseInt or new Number, for example:

function verificarMaiorNumero(x, y) {
  if (x > y) {
    return x + " é maior";
  } else {
    return y + " é maior";
  }
}
var primeiroNumero = parseInt(prompt("Digite um numero: "));

do {
  var segundoNumero = new Number(prompt("Digite outro numero:"));
} while (primeiroNumero == segundoNumero)

alert(verificarMaiorNumero(primeiroNumero, segundoNumero));

Browser other questions tagged

You are not signed in. Login or sign up in order to post.