我有一个字符串数组,每个字符串代表一个32位单精度Float,传递给ActionScript。我需要将这些字符串转换回它们的单精度浮点表示。 N.B浮点数的范围可以是-1到1
例如
3930D934 = 0.0001686558243818581
38AD2D39 = 0.00008257706213044003
将String转换为任何其他AS3数据类型时,我似乎失去了精度。
非常感谢所有建议。
答案 0 :(得分:4)
您可以使用ByteArray类将其转换为数字而不会导致精度损失:
var ba: ByteArray = new ByteArray();
ba.writeUnsignedInt(parseInt("3930D934", 16));
ba.position = 0;
trace(ba.readFloat()); // returns 0.0001686558243818581