Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ftonato/metic
Easy math decimals for JS
https://github.com/ftonato/metic
arithmetics decimals math mathmatics number
Last synced: about 2 months ago
JSON representation
Easy math decimals for JS
- Host: GitHub
- URL: https://github.com/ftonato/metic
- Owner: ftonato
- License: mit
- Created: 2022-06-28T12:58:51.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-06-28T19:19:37.000Z (over 2 years ago)
- Last Synced: 2024-08-18T06:52:18.428Z (5 months ago)
- Topics: arithmetics, decimals, math, mathmatics, number
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/metic
- Size: 57.6 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Metic
> Easy math decimals for JS
>
> `metic.add(0.1, 0.2, 2) === 0.3`This is a simple and useful package to help you on arithmetics.
----
## ContextIf you've ever tried to sum decimal numbers in JavaScript, you were definitely surprised...
We know that `0.1 + 0.1` is, as you expect, `0.2`.
But sometimes you get some unexpected result.
As for `0.1 + 0.2`.
The result is not `0.3` as you would expect, but it is `0.30000000000000004`.
Yes, the first time I was surprised too. However, if you search further to find out what happens via these links:
- [Why 0.1 + 0.2 == 0.3 is false in JS?](https://gauravkk22.medium.com/why-0-1-0-2-0-3-is-false-in-js-mystery-unsolved-with-solution-4f7db2755f18)
- [Why 0.1 + 0.2 ≠ 0.3 in JavaScript](https://javascript.plainenglish.io/why-0-1-0-2-0-3-in-javascript-d7e218224a72)----
## Install```sh
npm install metic
```### Usage
```javascript
import metic from 'metic'
// import {metic} from 'metic'metic.add(0.1, 0.2) // => 0.3
```You can also use as many decimals places as you like and ensure the value will be as close to what you expect.
```javascript
import metic from 'metic'
// import {metic} from 'metic'/**
* Calculate the sum of two decimals properly.
* @param {number} a - First value to be considered in the sum.
* @param {number} b - Second value to be considered in the sum.
* @param {number} positions - Number of decimals we expect as our result.
*/
metic.add(0.1, 0.222, 3) // => 0.322
```## LICENSE
[MIT](./LICENSE)