16 lines
528 B
JavaScript
16 lines
528 B
JavaScript
//from https://stackoverflow.com/a/49080858
|
|
function bankersRound(n, d=2) {
|
|
var x = n * Math.pow(10, d);
|
|
var r = Math.round(x);
|
|
var br = Math.abs(x) % 1 === 0.5 ? (r % 2 === 0 ? r : r-1) : r;
|
|
return br / Math.pow(10, d);
|
|
}
|
|
|
|
//this function divides obj.valuekey by totalamt, putting the result rounded to two positions in obj.resultkeyname.
|
|
export default async function(obj, valuekeyname, resultkeyname, totalamt) {
|
|
obj[resultkeyname] = bankersRound(obj[valuekeyname] / 100 * parseFloat(totalamt));
|
|
return obj;
|
|
|
|
}
|
|
|