arbitrary-precision
Abstraction for decimal functionality in big.js, bignumber.js, decimal.js and others via adapters.
Install
npm i arbitrary-precision
Adapters
- [adapter] [lib] big.js
- [adapter] [lib] bignumber.js
- [adapter] [lib] decimal.js
- [adapter] [lib] floating
See up to date list.
Usage
var decimalFactory = ;var adapter = ; // See adapters section for full list var Decimal = ;
Operations
'0.1'; // => 0.1 + 0.3'0.3'; // => 0.3 - 0.1'0.6'; // => 0.6 * 3'0.3'; // => 0.3 / 0.2 '2'; // => 8'9'; // => 3 '2'; // => true'2'; // => false '2'; // => true (other: lte, gt, gte)'2'; // => -1
toString, valueOf and toJSON
var decimalThird = '1'; // with bigjs-adapter (other adapters might have differing implementations)decimalThird === decimalThird === decimalThird; // => true NumberdecimalThird; // => 1/3
JSON.stringify and JSON.parse with reviver
var Decimal40 = ; Decimal40; var decimalThird = '1'; var stringified = JSON;// => '"0.3333333333333333333333333333333333333333"' JSON;// => new Decimal40('0.3333333333333333333333333333333333333333')
See spec.