node.js - 将 64 位 double 转换为 32 位浮点 Node.Js

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

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

是否可以有效地将这些 64 位值舍入为 32 位值?

谢谢。

最佳答案

在带有 -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

关于node.js - 将 64 位 double 转换为 32 位浮点 Node.Js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25549712/

相关文章:

node.js - 类型错误 : generateKeyPair is not a function when trying to use a function in the node. js 加密模块

javascript - 带有阿拉伯语月份的 javascript 中的日期转换和操作

c# - 总是在 C# 中四舍五入一个值

c++ - 如何正确迭代 double

java - 如何在跳过文本的同时读取 .txt 中的整数和 double ?

node.js - 在 LoopBack 4 中迁移数据库后设置新字段的值

javascript - 如何在 Node.js 中追加到新行

javascript - 使用 gulp 运行 npm 脚本得到了重复的操作

rust - 将Rust&str转换为&'static&str

c++ - c中的类型提升和转换