Skip to content

Floating point big number library using only strings as inputs and outputs

Notifications You must be signed in to change notification settings

EdgeApp/biggystring

Repository files navigation

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'

About

Floating point big number library using only strings as inputs and outputs

Resources

Stars

Watchers

Forks

Packages

No packages published