A simple function is giving me weird outputs. What am I doing wrong?

I am trying to create a simple function that adds up the total amount in the cash drawer. It seems pretty straightforward to me but I am getting some weird outputs. I have included a console.log() in there to demonstrate.

function cidTotal(arr){
  var total = 0;
  for (var i = 0; i < arr.length; i++){
    total += arr[i][1];
    console.log(total);
  }
    return total;
  }

This is the array:
[[“PENNY”, 1.01], [“NICKEL”, 2.05], [“DIME”, 3.1], [“QUARTER”, 4.25], [“ONE”, 90], [“FIVE”, 55], [“TEN”, 20], [“TWENTY”, 60], [“ONE HUNDRED”, 100]];

And this is the output:

1.01
3.0599999999999996
6.16
10.41
100.41
155.41
175.41
235.41
335.40999999999997
335.40999999999997

I can’t figure out where those long decimal numbers are coming from. Can anyone help?