Rounds a number to a specified number of decimal places.
npm install --save qc-round
Differences
-
Math.round
doesn't allow rounding to be done at different decimal positions. It has to be simulated.-
Math.round(value * 100) / 100
to simulateround(value, -2)
; -
Math.round(value / 100) * 100
to simulateround(value, 2)
;
-
-
Due to the underlying floating point number representation, using the simulated examples above with certain values does not return the correct value.
- E.g.,
Math.round(1.005 * 100) / 100
returns1
instead of1.01
.
- E.g.,
-
Will not ever return
-0
.-
E.g.,
Math.round(-0)
returns-0
instead of0
. -
E.g.,
Math.round(-Number.MIN_VALUE)
returns-0
instead of0
.
-
import { round } from 'qc-round';
round(20.49); // 20
round(20.5); // 21
round(-20.5); // -20
round(-20.51); // -21
round(1234.5678, -5); // 1234.5678
round(1234.5678, -4); // 1234.5678
round(1234.5678, -3); // 1234.568
round(1234.5678, -2); // 1234.57
round(1234.5678, -1); // 1234.6
round(1234.5678, 0); // 1235
round(1234.5678); // 1235
round(1234.5678, 1); // 1230
round(1234.5678, 2); // 1200
round(1234.5678, 3); // 1000
round(1234.5678, 4); // 0