Как flash обрабатывает вызов значения из массива с плавающей точкой? - PullRequest
0 голосов
/ 14 мая 2019

Есть некоторый флэш-код, который я смотрю, который вызывает значение из массива с индексом, являющимся типом данных 'число', который содержит десятичные точки.

Массив имеет длину 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_++;
     }

Программа работает нормально во флэш-памяти, но я не могу правильно скомпилировать ее в C #.

Заранее спасибо!

1 Ответ

0 голосов
/ 14 мая 2019

"Значение вызывается ... в какой-то момент это 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...