2009-08-05 14 views
5

Próbowałem wyświetlić numer: 2893604342.00. Ale kiedy go wyświetlam, jest wyświetlany jako: -2893604342.Jaka jest maksymalna wartość całkowita w Flex?

Poniżej znajduje się fragment kodu ...

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

Mam nawet zastąpił go Number, ale nadal pokazuje taką samą liczbę ujemną.

Proszę dać mi znać, czy jest jakiś problem z int lub Number!

Odpowiedz

2

Największy dokładna wartość całkowita wynosi 2^53, Pamiętaj ActionScript jest ECMA na sercu. Poszukaj operatora ToInt32 po więcej informacji na ten temat.

+0

Cześć, Wydaje mi się, że nie mamy tego operatora w ActionScripcie, próbowałem użyć Number, który jest dość duży, ale wciąż ma tę samą wartość ujemną. –

3

Spróbuj przesłać ją do uint zamiast int

5

liczb w pamięci flash jest 32 bitów, to wartość maksymalna wykonania unsigned int jest (2^32) -1 0xFFFFFF lub 4294967295. maksymalna dodatnia wartość podpisanego INT is (2^(32-1)) - 1 lub 2147483647 (jeden z bitów jest używany do znaku). Typ liczby to 64 bity.

w celu zapewnienia miejsca dla wyniku, typ zmiennej na numer i oddanych wynik na numer (lub wcale).

var Średnia: Number = 0; ... avg + = totalData [i] [col.dataField] jako numer;

14

Wartości maksymalne są dostępne za pośrednictwem właściwości statycznych każdy typ numeryczny za:

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

(. Tylko „śladowe em)

Powiązane problemy