2009-08-05 10 views
5

J'essayais d'afficher un nombre: 2893604342.00. Mais, quand je l'affiche, il est affiché comme: -2893604342.Quelle est la valeur entière maximale dans Flex?

Ce qui suit est l'extrait de code ...

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

Je l'ai même pas remplacé par Number, mais il est montrant toujours le même nombre négatif.

S'il vous plaît laissez-moi savoir si il ya un problème avec int ou Number!

Répondre

2

La plus grande valeur intégrale exacte est 2^53, Rappelez-vous que ActionScript est ECMA dans l'âme. Recherchez l'opérateur ToInt32 pour plus d'informations à ce sujet.

+0

Salut, Je suppose que nous n'avons pas cet opérateur en ActionScript, j'ai essayé d'utiliser Number qui est plus grand mais qui obtient toujours la même valeur négative. –

3

Essayez de diffuser à un uint au lieu d'un int

5

entiers de flash sont 32 bits, de sorte qu'une valeur unsigned int max est (2^32) -1, 0xffffff ou 4294967295. une valeur positive de l'int signé max est (2^(32-1)) - 1 ou 2147483647 (un des bits est utilisé pour le signe). le type Number est 64 bits. Afin de garantir l'espace pour votre résultat, tapez la variable Number et copiez le résultat sur Number (ou pas du tout).

var moyenne: nombre = 0; ... moy + = totalData [i] [col.dataField] sous forme de nombre;

14

Les valeurs maximales sont accessibles par les propriétés statiques de chaque type numérique:

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

(. Trace Just « em)

Questions connexes