2009-08-05 10 views
5

Stavo cercando di visualizzare un numero: 2893604342.00. Ma, quando lo sto visualizzando, viene visualizzato come: -2893604342.Qual è il valore intero massimo in Flex?

seguito è il frammento di codice ...

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

Ho anche sostituito con Number, ma è ancora mostrando lo stesso numero negativo.

Per favore fatemi sapere se c'è qualche problema con int o Number!

risposta

2

Il più grande valore integrale esatto è 2^53, ricorda che ActionScript è ECMA al centro. Cerca l'operatore ToInt32 per maggiori informazioni su questo.

+0

Hi, Immagino che non avremo quell'operatore in ActionScript, ho provato ad usare Number che è abbastanza grande ma che ottiene sempre lo stesso valore negativo. –

3

Prova a trasmettere ad un uint invece di un int

5

interi Flash sono 32 bit, così il valore massimo di un int non firmato è (2^32) -1, 0xffffff o 4294967295. valore positivo massimo di un int firmato è (2^(32-1)) - 1 o 2147483647 (uno dei bit è utilizzato per il segno). il tipo Numero è 64 bit.

per garantire lo spazio per il risultato, digitare la variabile su Numero e trasmettere il risultato su Numero (o per niente).

var avg: Number = 0; ... avg + = totalData [i] [col.dataField] come numero;

14

I valori massimi sono accessibili attraverso le proprietà statiche di ogni tipo numerico:

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

(. Basta tracciare 'em)