Does JavaScript have double floating point number precision?

In javascript type number it's float 64-bit number that support IEEE 754 standard and it's like double in C. And you can create 32-bit typed arrays by commands below and control each byte in each component by binding corresponded buffer.

let a = new Float32Array(length);
let b = new Float64Array(length);

But note that it's not supported in IE9, here browser compatibility table.

If you want extended presicion like long double, you can use double.js or decimal.js library.


According to the ECMA-262 specification (ECMAScript is the specification for Javascript), section 8.5:

The Number type has exactly 18437736874454810627 (that is, 264−253+3) values, representing the double-precision 64-bit format IEEE 754 values as specified in the IEEE Standard for Binary Floating-Point Arithmetic

Source: http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf (PDF)


All numbers in JavaScript are 64-bit floating point numbers.

Ref:

http://www.hunlock.com/blogs/The_Complete_Javascript_Number_Reference

http://www.crockford.com/javascript/survey.html