https://github.com/edgeapp/biggystring
Floating point big number library using only strings as inputs and outputs
https://github.com/edgeapp/biggystring
Last synced: about 1 year ago
JSON representation
Floating point big number library using only strings as inputs and outputs
- Host: GitHub
- URL: https://github.com/edgeapp/biggystring
- Owner: EdgeApp
- Created: 2017-07-25T22:27:25.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-16T23:30:25.000Z (almost 2 years ago)
- Last Synced: 2025-03-20T14:10:02.323Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 263 KB
- Stars: 3
- Watchers: 14
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# biggystring
Floating point big number library using only strings as inputs and outputs
## Install
npm install biggystring
## Use
const bs = require('biggystring')
### Basic Math
bs.add('32', '10') // => '42'
bs.sub('32', '10') // => '22'
bs.mul('32', '10') // => '320'
bs.div('32', '10') // => '3' Truncates remainder
### Hex
bs.add('0xa', '10') // => '20'
bs.add('0xa', '0x20') // => '42'
bs.add('10', '0x10') // => '26'
### Comparisons
bs.gt('32', '10') // => True
bs.lt('32', '10') // => False
bs.gte('32', '32') // => True
bs.lte('32', '10') // => False
bs.eq('32', '10') // => False
bs.eq('32', '32') // => True
### Floating point operations (base 10 only)
bs.add('3.2', '1.3') // => '4.5'
bs.sub('3.2', '1.3') // => '1.9'
bs.mul('3.2', '1.3') // => '4.16'
// For `div`, 3rd arg is decimal precision, 4th arg is base
bs.div('10', '3.0', 5, 10) // => '3.33333'
bs.div('1.23', '3.3', 5, 10) // => '0.37272'
### Rounding functions (base 10 only)
bs.floor('123.456', 0) => '123'
bs.floor('123.456', 1) => '120'
bs.floor('123.456', -1) => '123.4'
bs.ceil('123.456', 0) => '124'
bs.ceil('123.456', 1) => '130'
bs.ceil('123.456', -1) => '123.5'
bs.round('123.456', 0) => '123'
bs.round('125.456', 1) => '130'
bs.round('123.456', -1) => '123.5'