# num

> arbitrary precision integer and decimal library in javascript

Latest version **0.3.0** (published 2014-11-25) · 0 weekly downloads

## Install

```sh
npm install num
pnpm add num
yarn add num
bun add num
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.0 |
| Published | 2014-11-25 |
| First published | 2012-05-02 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 33 |
| Author | Roman Shtylman |
| Maintainers | shtylman |
| Keywords | decimal, num, number, arithmatic, precision |

## Links

- npm: https://www.npmjs.com/package/num
- Repository: https://github.com/defunctzombie/num
- Issues: https://github.com/defunctzombie/num/issues
- npm.io page: https://npm.io/package/num

## Dependencies (1)

- [int](https://npm.io/package/int.md) 0.2.0

## Alternatives

- [random-seedable](https://npm.io/package/random-seedable.md) — 27.9K weekly downloads
- [n2words](https://npm.io/package/n2words.md) — 22.2K weekly downloads
- [@stdlib/math-base-special-factorialln](https://npm.io/package/@stdlib/math-base-special-factorialln.md) — 5.7K weekly downloads
- [@stdlib/math-base-special-abs2](https://npm.io/package/@stdlib/math-base-special-abs2.md) — 1.7K weekly downloads
- [commons-math-interpolation](https://npm.io/package/commons-math-interpolation.md) — 1.4K weekly downloads

## Recent versions

- 0.3.0 (latest) — 2014-11-25
- 0.2.3 — 2014-08-23
- 0.2.2 — 2014-06-29
- 0.2.1 — 2013-01-27
- 0.2.0 — 2012-11-10
- 0.1.2 — 2012-05-15
- 0.1.1 — 2012-05-13
- 0.1.0 — 2012-05-10
- 0.0.2 — 2012-05-09
- 0.0.1 — 2012-05-02

## README

[![Build Status](https://secure.travis-ci.org/defunctzombie/num.svg)](http://travis-ci.org/defunctzombie/num)

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

Looking for just integers? Check out [int](https://github.com/defunctzombie/int)

```
npm install num
```

```javascript
var num = require('num');

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

// with `num`
console.log(num(0.1).add(0.2).toString()); //'0.3'
```

## 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) ###
> 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

---
_Source: https://npm.io/package/num · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
