将64Bit Double转换为32Bit Float Node.Js

时间:2014-08-28 13:13:16

标签: node.js type-conversion double floating-accuracy

我通过函数http://nodejs.org/api/buffer.html#buffer_buf_readdoublele_offset_noassert从缓冲区读取64位双打。

是否有可能以有效的方式将这些64位值舍入为32位值?

THX。

1 个答案:

答案 0 :(得分:1)

在带有-harmony_maths标记的Node.js 0.11中,您只需使用Math.fround()

Math.PI - Math.fround(Math.PI) // -8.742278012618954e-8

在Node.js 0.10.25中使用Float32Array

var fa = new Float32Array(1);
fa[0] = Math.PI
Math.PI - fa[0] // -8.742278012618954e-8

请参阅Efficient float32 arithmetic in JavaScript