Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

218
Vistas
Javascript if-else statement not running correctly

I don't know why the if-else statement given in the question is function incorrectly. Even cashProvided.value >billAmount.value I keep getting the errorMsg which is being executed in the else statement. I tried using console.log() at different parts of my code to see where I'm going wrong but I am not quite able to figure it out myself.Any suggestion?enter image description here

const billAmount=document.querySelector("#bill-amount");
const cashProvided=document.querySelector("#cash-given");
const checkButton=document.querySelector("#Check");
const numberOfNotes=document.querySelectorAll(".no-of-notes");
const errorMsg=document.querySelector("#error-msg");
checkButton.addEventListener("click",clickHandler);
notes=[2000,500,100,20,10,5,1];

if(cashProvided.value >= billAmount.value)
        {
            console.log("inside if");
            console.log('Bill='+billAmount.value);
            console.log("Cash Provided="+cashProvided.value);
            var change=cashProvided.value-billAmount.value;
            console.log("Change="+change)
            for(i=0;i<notes.length;i++)
            {
                console.log(notes.length);
                console.log("entered for");
                var numOfNotes=Math.trunc(change/notes[i]);
                numberOfNotes[i].innerText=numOfNotes;
                change%=notes[i];
                console.log("new change "+change);
            }
        }
        else
        {
            console.log(billAmount.value);
            console.log(cashProvided.value);
            errorMsg.style.display="block";
            errorMsg.innerText="You want to wash plates or what? Gimme atleast "+billAmount.value;
        }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Values are coming as string. you should parse the value first.

second way: if(parseInt(cashProvided.value, 10) >= parseInt(billAmount.value, 10))

also you can set them as variables outside of the if statement.

Edit: in response for peter's comment. you should include a second argument intuo parseInt function. it will determine the base. i assume you are using 10 base.

about 4 years ago · Juan Pablo Isaza Denunciar

0

The type of input's value is String, you need to parse it to integer or number first.

const cash = parseInt(cashProvided.value);
const bill = parseInt(billAmount.value);
//use cash and bill instead of cashProvided.value, billAmount.value
...
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda