提问者:小点点

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


我有四个字节的十六进制数据,我正在尝试将它转换为节点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/onlone-hex-converter/link上,我正在通过输入十六进制字符串在“float-little Endian(DCBA)”单元格中获得正确的值,但不知道如何在节点JS中实现。 我想可能是我找错了东西或者我理解错了。

谢谢。


共1个答案

匿名用户

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

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

readfloatle中的le代表Little endian。