{{ message }}
/ number-precision Public

π1K tiny & fast lib for doing addition, subtraction, multiplication and division operations precisely

nefe/number-precision

Switch branches/tags
Nothing to show

Latest commit

`e516fed`

Files

Failed to load latest commit information.
Type
Name
Commit time
Aug 16, 2021
Aug 16, 2021
Aug 16, 2021
Aug 21, 2017
Feb 14, 2019
Jun 24, 2020
Feb 16, 2022
Dec 23, 2021
Dec 16, 2017
Dec 16, 2017

number-precision

Perform addition, subtraction, multiplication and division operations precisely using javascript

Why

```0.1 + 0.2 = 0.30000000000000004
1.0 - 0.9 = 0.09999999999999998
0.105.toFixed(2) = 0.1 // not 0.11```

Install

``````npm install number-precision --save
``````

Methods

```NP.strip(num)         // strip a number to nearest right number
NP.plus(num1, num2, num3, ...)   // addition, num + num2 + num3, two numbers is required at least.
NP.minus(num1, num2, num3, ...)  // subtraction, num1 - num2 - num3
NP.times(num1, num2, num3, ...)  // multiplication, num1 * num2 * num3
NP.divide(num1, num2, num3, ...) // division, num1 / num2 / num3
NP.round(num, ratio)  // round a number based on ratio```

Usage

```import NP from 'number-precision'
NP.strip(0.09999999999999998); // = 0.1
NP.plus(0.1, 0.2);             // = 0.3, not 0.30000000000000004
NP.plus(2.3, 2.4);             // = 4.7, not 4.699999999999999
NP.minus(1.0, 0.9);            // = 0.1, not 0.09999999999999998
NP.times(3, 0.3);              // = 0.9, not 0.8999999999999999
NP.times(0.362, 100);          // = 36.2, not 36.199999999999996
NP.divide(1.21, 1.1);          // = 1.1, not 1.0999999999999999
NP.round(0.105, 2);            // = 0.11, not 0.1```

PS: If you want to get rid of `XXX is beyond boundary when transfer to integer, the results may not be accurate`, use this at the beginning of your app to turn off boundary checking.

`NP.enableBoundaryChecking(false); // default param is true`

MIT

π1K tiny & fast lib for doing addition, subtraction, multiplication and division operations precisely

Packages 0

No packages published

+ 1,620