node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



Checks when two floats are almost equal.


First install using npm:

npm install almost-equal

Then use as follows:

var almostEqual = require("almost-equal")
var a = 100
  , b = 100 + 1e-12
//Check if a == b up to float precision 
console.log(almostEqual(a, b, almostEqual.FLT_EPSILON, almostEqual.FLT_EPSILON))
//Check if a == b up to double precision 
console.log(almostEqual(a, b, almostEqual.DBL_EPSILON, almostEqual.DBL_EPSILON))

almostEqual(a, b[, absoluteTolerance [, relativeTolerance]])

Checks if two floats are within the given tolerances of one another using the formula:

|a - b| < max(absoluteTolerance, min(|a|, |b|) * relativeTolerance)
  • a and b are the two numbers to comapre
  • absoluteTolerance is a fixed minimal tolerance (set to 0 to ignore)
  • relativeTolerance is a tolerance that scales with a/b (set to 0 to ignore)

Returns true if a and b are approximately equal.

If tolerance argument is omitted, almostEqual.DBL_EPSILON value is used by default.


Floating point (32-bit) epsilon


Double precision (64-bit) epsilon


(c) 2013 Mikola Lysenko. MIT License