2012-09-18 98 views
2

我有一个字符串数组,每个字符串都代表一个32位单精度浮点数,传入ActionScript。我需要将这些字符串转换回其单精度浮点表示。 N.B浮点数的范围可以从-1到1将十六进制字符串转换为单精度ActionScript 3.0

例如。

3930D934 = 0.0001686558243818581 
38AD2D39 = 0.00008257706213044003 

当将字符串转换为任何其他AS3数据类型时,我似乎失去了精度。

所有的建议将不胜感激。

回答

4

可以使用ByteArray类将其转换为数字不失精度:

var ba: ByteArray = new ByteArray(); 
ba.writeUnsignedInt(parseInt("3930D934", 16)); 
ba.position = 0; 
trace(ba.readFloat()); // returns 0.0001686558243818581 
+0

这就是神奇!感谢strille! – austintino

相关问题