2016-02-19 178 views
3

这可能听起来像一个奇怪的挣扎,而且实际上很容易做到,但我找不到一种将字符串格式的十六进制转换为浮点的工作方式。NodeJS - 将十六进制转换为浮点数

我为例是例如:406ea716

如果我用下面的一个网站转换,我得到3.728948

http://www.h-schmidt.net/FloatConverter/IEEE754.html http://gregstoll.dyndns.org/~gregstoll/floattohex/

我想尽单件的代码,我发现在互联网上,但不会返回相同的结果。

在NodeJS中是否存在执行相同转换的模块?如果不是,我该怎么办?

谢谢你的帮助。

+0

[转换十六进制漂浮在javascript]的可能的复制(http://stackoverflow.com/questions/5055723 /转换 - 十六进制到浮点数在javascript) – mentinet

回答

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); 
+0

谢谢你的回复,但是这返回一个整数(1080993558),而如果我尝试转换这个十六进制与我列出的网站,它显然会退缩浮动。 – mentinet

1

我有同样的问题。尝试这个。

缓冲液( '406ea716', '六角')。readFloatBE(0)

3.7289481163024902