开发者

Does JavaScript have double floating point number precision?

开发者 https://www.devze.com 2023-01-14 08:38 出处:网络
I know it\'s an odd question, but does JavaScri开发者_高级运维pt have the capacity to work with double\'s as opposed to single floats?(64 bit floats vs. 32 bits.)All numbers in JavaScript are 64-bit f

I know it's an odd question, but does JavaScri开发者_高级运维pt have the capacity to work with double's as opposed to single floats? (64 bit floats vs. 32 bits.)


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


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)


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号