我知道这是一个奇怪的问题,但JavaScript是否有能力使用double而不是单个浮点数? (64位浮点数与32位。)
答案 0 :(得分:35)
答案 1 :(得分:32)
根据ECMA-262规范(ECMAScript是Javascript的规范),第8.5节:
Number类型恰好有18437736874454810627(即2 64 -2 53 +3)值,表示双精度64位格式IEEE 754值为在IEEE二进制浮点运算标准中规定
来源:http://www.ecma-international.org/publications/files/ecma-st/ECMA-262.pdf(PDF)
答案 2 :(得分:-1)
在javascript类型 number 中,它是支持IEEE 754标准的64位浮点数,就像C中的 double 一样。您可以通过命令创建32位类型数组并通过绑定相应的缓冲区来控制每个组件中的每个字节。
let a = new Float32Array(length);
let b = new Float64Array(length);
但是请注意,此处的browser compatibility表在IE9中不受支持。
如果您想使用扩展名,例如 long double ,则可以使用double.js或decimal.js库。