如何将 4 字节十六进制转换为 Node.js 中的浮点数

How to convert 4 byte Hex to floating-point number in Node.js

我有四个字节的十六进制数据,我正在尝试将其转换为 Node.js 中的浮点数。

0x58 0x86 0x6B 0x42 --> 58.8812
0x76 0xD6 0xE3 0x42 --> 113.9189
0x91 0x2A 0xB4 0x41 --> 22.52078

我尝试从互联网上找到的不同函数进行转换,但不幸的是没有得到想要的结果。 在 https://www.scadacore.com/tools/programming-calculators/online-hex-converter/ link 上,我通过输入十六进制字符串在“Float - Little Endian (DCBA)”单元格中获得了正确的值,但不知道如何在节点 js 中执行此操作。 我想也许我搜索错了或者我理解错了。

谢谢。

鉴于您有十六进制数据的字符串表示形式(例如 '58866B42' 关于您的第一个示例),请执行以下操作将其转换为浮点数:

let myNumber = Buffer.from(hexString, 'hex').readFloatLE()

readFloatLE中的LE代表Little Endian.