num
arbitrary precision integer and decimal library in javascript
Last updated 6 years ago by shtylman .
Repository · Bugs · Original npm · Tarball · package.json
`\$ cnpm install num `
SYNC missed versions from official npm registry.

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

## Current Tags

• 0.3.0                                ...           latest (6 years ago)

## 10 Versions

• 0.3.0                                ...           6 years ago
• 0.2.3                                ...           6 years ago
• 0.2.2                                ...           6 years ago
• 0.2.1                                ...           8 years ago
• 0.2.0                                ...           8 years ago
• 0.1.2                                ...           9 years ago
• 0.1.1                                ...           9 years ago
• 0.1.0                                ...           9 years ago
• 0.0.2                                ...           9 years ago
• 0.0.1                                ...           9 years ago
Maintainers (1)