JSFiddle - React, Tailwind, and code Playground
by wolfpackt99
HTML
<ul id='log'></ul>
JavaScript
function bankerRound(num, decimalPlaces) {
var d = decimalPlaces || 2;
var m = Math.pow(10, d);
var n = +(d ? num * m : num).toFixed(8); // Avoid rounding errors
var i = Math.floor(n), f = n - i;
var e = 1e-8; // Allow for rounding errors in f
var r = (f > 0.5 - e && f < 0.5 + e) ?
((i % 2 == 0) ? i : i + 1) : Math.round(n);
return d ? r / m : r;
}
function log(item)
{
$("#log").append("<li>" + item + "</li>");
}
log( bankerRound(.7*.75) );
log( bankerRound(1.5*1.99) );
log( bankerRound(.57*1.64) );
log( bankerRound(.57*1.94) );
log( bankerRound(.68*1.64) );
log( bankerRound(.68*1.99) );
log( bankerRound(1.5) );
log( bankerRound(.68*1.99) );