将十六进制字符串转换为单精度ActionScript 3.0

时间:2012-09-18 13:36:58

标签: actionscript-3 floating-point

我有一个字符串数组,每个字符串代表一个32位单精度Float,传递给ActionScript。我需要将这些字符串转换回它们的单精度浮点表示。 N.B浮点数的范围可以是-1到1

例如

3930D934 = 0.0001686558243818581   
38AD2D39 = 0.00008257706213044003

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

非常感谢所有建议。

1 个答案:

答案 0 :(得分:4)

您可以使用ByteArray类将其转换为数字而不会导致精度损失:

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