Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hypersoftllc/qc-round
Rounds a number to a specified number of decimal places.
https://github.com/hypersoftllc/qc-round
javascript-utility
Last synced: 28 days ago
JSON representation
Rounds a number to a specified number of decimal places.
- Host: GitHub
- URL: https://github.com/hypersoftllc/qc-round
- Owner: hypersoftllc
- License: isc
- Created: 2017-05-01T22:11:12.000Z (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2017-05-26T01:41:46.000Z (over 7 years ago)
- Last Synced: 2024-08-09T09:32:27.674Z (6 months ago)
- Topics: javascript-utility
- Language: TypeScript
- Size: 17.6 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# qc-round
[![Build Status][travis-svg]][travis-url]
[![Coverage Status][coverage-image]][coverage-url]
[![License][license-image]][license-url]
[![Downloads][downloads-image]][downloads-url][![npm badge][npm-badge-png]][package-url]
Rounds a number to a specified number of decimal places.
## Installation
```sh
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 simulate `round(value, -2)`;
- `Math.round(value / 100) * 100` to simulate `round(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` returns `1` instead of `1.01`.
* Will not ever return `-0`.
- E.g., `Math.round(-0)` returns `-0` instead of `0`.
- E.g., `Math.round(-Number.MIN_VALUE)` returns `-0` instead of `0`.
## Example Usage
```js
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
```[coverage-image]: https://coveralls.io/repos/github/hypersoftllc/qc-round/badge.svg?branch=master
[coverage-url]: https://coveralls.io/github/hypersoftllc/qc-round?branch=master
[downloads-image]: http://img.shields.io/npm/dm/qc-round.svg
[downloads-url]: http://npm-stat.com/charts.html?package=qc-round
[license-image]: http://img.shields.io/npm/l/qc-round.svg
[license-url]: LICENSE
[package-url]: https://npmjs.org/package/qc-round
[npm-badge-png]: https://nodei.co/npm/qc-round.png?downloads=true&stars=true
[travis-svg]: https://travis-ci.org/hypersoftllc/qc-round.svg?branch=master
[travis-url]: https://travis-ci.org/hypersoftllc/qc-round