这听起来像是一场奇怪的挣扎,实际上很容易做到,但我找不到一种将字符串格式的十六进制转换为浮点数的工作方式。
我的例子是:406ea716
如果我使用以下网站之一转换它,我会得到3.728948
。
http://www.h-schmidt.net/FloatConverter/IEEE754.html http://gregstoll.dyndns.org/~gregstoll/floattohex/
我尝试了在互联网上找到的每一段代码,但它不会返回相同的结果。
NodeJS中是否存在执行相同转换的模块?如果没有,我该怎么办?
感谢您的帮助。
答案 0 :(得分:3)
我有同样的问题。试试这个。
缓冲液( '406ea716', '六角')。readFloatBE(0)
3.7289481163024902
答案 1 :(得分:0)
无需模块:
var hex = '406ea716';
// transform the hexadecimal representation in a proper js hexadecimal representation by prepending `0x` to the string
// parseInt() - because your example was an integer.
var num = parseInt( '0x' + '406ea716');
console.log( num );
答案 2 :(得分:0)
您是否尝试过parseInt
?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
$ node
> parseInt('406ea716', 16)
1080993558