Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
arbitrary size and precision number library in pure javascript
JavaScript
branch: master
Failed to load latest commit information.
test fix parsing scientific notation
.gitignore init
.travis.yml add sauce credentials to travis.yml
.zuul.yml bump minimum IE to 9
AUTHORS init
HISTORY.md v0.3.0
README.md readme: fix link to `int` module
num.js return nan when not a number
package.json update zuul

README.md

Build Status

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`
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

Something went wrong with that request. Please try again.