Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

217
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!