Flash如何处理带有浮点数的数组中的值?

时间:2019-05-13 21:58:33

标签: flash

我正在查看一些闪存代码,该代码从数组中调用一个值,索引为包含小数点的“数字”数据类型。

该数组的长度为100个索引,并且在循环中使用一个变化的变量来调用一个值,该值在某一时刻为5.3。 Flash如何处理?它是对价值的底限,上限还是四舍五入?没有异常被抛出。我正在将代码转换为C#,所以我需要知道如何处理它。

 var _loc8_:int = 0;
     var _loc2_:String = param1.toString();
     var _loc3_:int = _loc2_.length;
     var _loc4_:int = 10;
     var _loc5_:Number = 1;
     var _loc6_:String = "";
     var _loc7_:int = 0;
     while(_loc7_ < _loc3_)
     {
        _loc8_ = param1 % _loc4_;
        _loc8_ = _loc8_ * _loc5_;
        _loc6_ = _loc6_ + this.scoreArray[_loc8_];
        _loc4_ = _loc4_ * 10;
        _loc5_ = _loc5_ * 0.1;
        _loc7_++;
     }

程序在Flash状态下运行良好,但是我无法在C#中正确编译它。

谢谢!

1 个答案:

答案 0 :(得分:0)

  

“在某个点处正在调用一个值……是5.3。Flash如何处理此值?它是对值进行下限,上限还是四舍五入?不会引发异常。我正在转换代码到C#”

AS3的Number数据类型为“表示IEEE-754双精度浮点数的数据类型”

您可能想使用C#Double处理Flash / AS3中的小数。

AS3:

var myNum :Number = 5.3;

在C#中,其中之一将起作用...

float myFloat = 5.3f; //# 32-bit floating-point val... Has "f" suffix
double myDouble = 5.3d; //# 64-bit floating-point val... Has "d" suffix