Categories

# How to Do Gaussian or Banker’s Rounding in JavaScript?

Spread the love

Sometimes, we want to do Gaussian or Banker’s rounding in JavaScript.

In this article, we’ll look at how to do Gaussian or Banker’s rounding in JavaScript.

### Do Gaussian or Banker’s Rounding in JavaScript

To do Gaussian or Banker’s rounding in JavaScript, we can create our own function to do the rounding.

For instance, we write:

``````const isEven = (n) => {
return (0 === (n % 2));
};

const bankersRound = (x) => {
const r = Math.round(x);
return (((((x > 0) ? x : (-x)) % 1) === 0.5) ? ((isEven(r)) ? r : (r - 1)) : r);
};

console.log(bankersRound(1))
console.log(bankersRound(1.5))
console.log(bankersRound(2.5))
``````

We first create the `isEven` function to return whether the number `n` is an even number.

Then we create the `bankersRound` function to round the number.

In the function, we first round the number `x` with `Math.round` .

Then we check if `x` is bigger than 0.

If it is, then we return `x` .

Otherwise, we return `-x` .

And we check if that number divided by 1 has 0.5 as the remainder.

If it does, we check if the number if even with `isEven` .

If it is, we return `r` .

Otherwise, we return `r — 1` .

If `x` ends with .5, then we also return `r` .

Therefore, we see the first console log logs 1 and the other 2 logs 2.

### Conclusion

To do Gaussian or Banker’s rounding in JavaScript, we can create our own function to do the rounding.

## By John Au-Yeung

Web developer specializing in React, Vue, and front end development.