Какое максимальное целочисленное значение в Flex? - PullRequest
5 голосов
/ 06 августа 2009

Я пытался отобразить номер: 2893604342.00. Но, когда я показываю его, он отображается как: -2893604342.

Ниже приведен фрагмент кода ...

avg += int(totalData[i][col.dataField]); 

Я даже заменил его на Number, но он все еще показывает то же отрицательное число.

Пожалуйста, дайте мне знать, есть ли проблема с int или Number!

Ответы [ 4 ]

14 голосов
/ 09 августа 2009

Максимальные значения доступны через статические свойства каждого числового типа:

  • Number.MAX_VALUE
  • uint.MAX_VALUE
  • int.MAX_VALUE

(Просто проследите за ними)

5 голосов
/ 09 августа 2009

целые числа во флэш-памяти - это 32 бита, поэтому максимальное значение целого без знака равно (2 ^ 32) -1, 0xffffff или 4294967295. Максимальное положительное значение целого числа со знаком равно (2 ^ (32-1)) - 1 или 2147483647 ( один из битов используется для знака). Тип номера - 64 бита.

чтобы гарантировать место для вашего результата, введите переменную в Number и приведите результат к Number (или не приведите его вовсе).

var avg: Number = 0; ... avg + = totalData [i] [col.dataField] как число;

3 голосов
/ 07 августа 2009

Попробуйте привести его к uint вместо int

2 голосов
/ 06 августа 2009

Наибольшее точное целое значение равно 2 ^ 53. Помните, что ActionScript - это ECMA в глубине души. Ищите оператора ToInt32 для получения дополнительной информации об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...