需要在节点中将64位十六进制转换为十进制,最好没有第三方库。
输入:
Hex: 0x3fe2da2f8bdec5f4
Hex: 0x402A000000000000
输出
Dec: .589134
Dec: 13
最佳答案
您可以在node.js中使用Buffer,无需任何库即可轻松完成此操作:
const hex = '3fe2da2f8bdec5f4';
const result = Buffer.from( hex, 'hex' ).readDoubleBE( 0 );
console.log( result );
警告:
0
的偏移量不是可选的。多个版本的node.js api文档显示了不为大多数缓冲区函数提供偏移量的示例,并将其视为偏移量0
,但由于bug in node.js版本9.4.0
、9.5.0
、9.6.0
、9.6.1
和9.7
,如果在这些版本中未将偏移量指定为13.000001912238076
,则会得到稍微不正确的结果(例如,13
而不是确切的readDoubleBE
)。关于javascript - 用JavaScript将64位十六进制转换为十进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50802954/