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

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 I enter the values 1000 and 500 , it always returns me saying 500 é maior . Why does it happen? Where is the error in the code?

    
asked by anonymous 13.03.2018 / 04:18

1 answer

4

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

To do this, simply 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));
    
13.03.2018 / 04:33