【问题标题】:Convert Hexadecimal String to single precision ActionScript 3.0将十六进制字符串转换为单精度 ActionScript 3.0
【发布时间】:2012-09-18 21:55:28
【问题描述】:

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

例如。

3930D934 = 0.0001686558243818581   
38AD2D39 = 0.00008257706213044003

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

所有建议将不胜感激。

【问题讨论】:

    标签: actionscript-3 floating-point


    【解决方案1】:

    您可以使用 ByteArray 类将其转换为 Number 而不会丢失精度:

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

    【讨论】:

      猜你喜欢
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 2019-08-31
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      • 2018-01-31
      相关资源
      最近更新 更多