Hi! I wrote my code for the Cash register challenge, but it doesn’t pass the 3rd test. I noticed that the problem is that something strange happens when I do extraction from a floating number. If you look at the below example, change is 100-3.26 = 96.74. If I extract 10, 30, or 40 from it, the result will be 86.74, 66.74 and 56.739999999999995. Why extracting 40 or a larger number gives this distortion in the decimal digits? How can I fix this?
Your code so far
function checkCashRegister(price, cash, cid) {
var change = cash - price;
console.log(change-10, change-30, change-40);
}
console.log(checkCashRegister(3.26, 100, [["PENNY", 1.01], ["NICKEL", 2.05], ["DIME", 3.1], ["QUARTER", 4.25], ["ONE", 90], ["FIVE", 55], ["TEN", 20], ["TWENTY", 60], ["ONE HUNDRED", 100]]));
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
Challenge: Cash Register
Link to the challenge: