# num

arbitrary precision integer and decimal library in javascript

## Usage no npm install needed!

``````<script type="module">
import num from 'https://cdn.skypack.dev/num';
</script>``````

num is an arbitrary size fixed precision library written in javascript for node.js and browsers

Looking for just integers? Check out int

``````npm install num
``````
``````var num = require('num');

// ordinary js floating point math
console.log(0.1 + 0.2); // 0.30000000000000004 :(

// with `num`
``````

## api

Besides the num function, all of the other methods operate on the objects returned by num

### num (value)

construct a new decimal

valid values are integers, numbers, or strings

add {value} to our number and return a new num

### sub (value)

subtract {value} from our number and return a new num

### mul (value)

multiply our num by {value} and return a new num

### div (value)

divide our num by {value} and return a new num

``````// note that `div` uses the precision of the numerator
num('1').div('3.0') -> 0
num('1.0').div('3') -> 0.3
``````

### neg

return a new num that is the negative

### abs

return new num that is the absolute value

### abs

return a new num that is the absolute value

### cmp (value)

compare our value to {value}

return 0 if self and value are equal, -1 if self < value, 1 if self > value

### lt (value)

return true if self < value

### lte (value)

return true if self <= value

### gt (value)

return true if self > value

### gte (value)

return true if self >= value

### eq (value)

return true if self == value

### ne (value)

return true if self != value

### set_precision (precision)

set the precision for the number. Can be used to alter how many places after the decimal are relevant.

return self