【问题标题】:Number.toString returns "incorrect" hexadecimal valueNumber.toString 返回“不正确”的十六进制值
【发布时间】:2022-10-01 07:45:49
【问题描述】:

为了使用第三方 API,我必须将 ID 号转换为十六进制。我用https://www.rapidtables.com/convert/number/decimal-to-hex.html 转换了ID,得到了711DD21A11FA9223FEB43849FF1F3569DC024DCE000000000000150000000001。当我将它与 API 一起使用时,这很有效。

我的理解是你可以用Number().toString(16) 用JS 执行同样的转换。但是,当我使用该功能时,我得到711dd21a11fa9400000000000000000000000000000000000000000000000000

后一个值不适用于 API。了解为什么 JS 函数返回不同的值?

    标签: javascript string numbers hex


    【解决方案1】:

    你的数字对于 JavaScript 来说太大了。

    Number.MAX_SAFE_INTEGER 常量表示 JavaScript 中的最大安全整数。

    我建议您使用BigInt 数据类型。

    BigInt 是一个原始包装对象,用于表示和操作原始 bigint 值——它们太大而无法用原始数字表示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 2022-01-02
      • 2020-05-16
      • 1970-01-01
      • 2021-06-04
      • 1970-01-01
      • 2018-12-06
      相关资源
      最近更新 更多