【问题标题】:Respond with 64bit Integer with Node.js使用 Node.js 以 64 位整数响应
【发布时间】:2013-03-13 23:36:47
【问题描述】:

我正在创建一个 Web 应用程序 API,它需要使用 JSON 对象响应所有 HTTP POST 请求。

我遇到的一个绊脚石是其中一个 JSON 字段需要包含 64 位 int,但是,Node.js 本身只支持 64 位双精度,因此不包括所需的精度级别。

不需要对这个整数进行任何计算,它只是一个请求“ID”,允许使用 API 的服务了解来自 Node.js 的响应。不幸的是,将值转换为字符串会破坏访问此 API 的服务,因此,响应需要是有效的 64 位 int。

有没有办法在响应 JSON 中使用 64 位 int 进行响应?

【问题讨论】:

  • 客户端javascript是否也需要能够读取这些int(即客户端是javascript,它也需要读取数据)
  • 我正在与之通信的服务是另一个用 C 编写的 Web 服务器。它向我的服务发布一些 json,包括 64 位 int,我需要响应包括相同的 64 位 int 作为标识符.

标签: node.js integer


【解决方案1】:

JavaScript 遵循 ECMA-262 标准,根据该标准,JavaScript 中的所有数字(整数和浮点数)都是 64 位浮点数 (IEEE_754)。它最多可以使用 53 位的整数值。所以本机你不能处理 64 位整数运算。

使用node-int64 包在节点中支持 64 位整数

【讨论】:

  • 只要不将它们视为 64 位整数,您就可以轻松地将它们作为位存储在节点中的有符号数组中。
  • 谢谢。这些模块似乎可以很好地存储 64 位整数,但是,我很难从 http 帖子中获取 64 位整数。
猜你喜欢
  • 2015-05-12
  • 2019-03-25
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 2018-11-23
  • 2015-09-13
  • 2011-03-07
相关资源
最近更新 更多