rounding up, is not consistent

the round() function here is the only one that is consistent.

by Artistan

CSS

.errors {
  background-color: #dddddd
}

JavaScript

Number.prototype.format = function(n) {
    return this.toFixed(Math.max(0, ~~n));
};
function round(value, decimals) {
  return Number(Math.round(value+'e'+decimals)+'e-'+decimals);
}

// can anyone tell me why these are equivalent for  50.005, and 1050.005 through 8150.005 (increments of 50)

var round_to = 2;
var maxInt = 1500000;
var equalRound = '<h1>BEGIN HERE</h1><div class="matches">';
var increment = 50;
var round_from = 0.005;
var expected = 0.01;
var lastWasMatch = true;

for( var n = 0; n < maxInt; n=n+increment){
  var data = {};
  var numberCheck = parseFloat(n + round_from);
  data.original = numberCheck * 1;
  data.expected =  Number(n + expected) * 1;
  data.formatIt = Number(numberCheck).format(round_to) * 1;
  data.roundIt = round(numberCheck, round_to).toFixed(round_to) * 1;
  data.numberIt = Number(numberCheck).toFixed(round_to) * 1;
  //console.log(data);

  if( data.roundIt !== data.formatIt || data.formatIt !== data.numberIt ||
     data.roundIt !== data.numberIt || data.roundIt != data.expected
    ){
      if(lastWasMatch){
        equalRound = equalRound + '</div><div class="errors"> <hr/> Did Not Round UP <hr/>' ;
          document.write(' <h3>EXAMPLE: Did Not Round UP: ' + numberCheck + '</h3><br /><hr/> ');
          document.write('expected: '+data.expected + ' :: ' + (typeof data.expected)  + '<br />');
          document.write('format: '+data.formatIt + ' :: ' + (typeof data.formatIt)  + '<br />');
          document.write('round : '+data.roundIt + ' :: ' + (typeof data.roundIt)  + '<br />');
          document.write('number: '+data.numberIt + ' :: ' + (typeof data.numberIt)  + '<br />');
      		lastWasMatch=false;
      }
    	equalRound = equalRound + ', ' + numberCheck;
  } else {
      if(!lastWasMatch){
        equalRound = equalRound + '</div><div class="matches"> <hr/> All Rounded UP! <hr/>' ;
      } {
      		lastWasMatch=true;
      }
      equalRound = equalRound + ', ' + numberCheck;
  }
}
document.write('equalRound:...