qc-round
v0.0.6
Published
A more useful alternative to `Math.round`
Downloads
163
Maintainers
Readme
qc-round
Rounds a number to a specified number of decimal places.
Installation
npm install --save qc-round
Comparison with JavaScript's Math.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
.
Example Usage
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