5 votes

Quelle est la valeur maximale d'un nombre entier dans Flex ?

J'ai essayé d'afficher un nombre : 2893604342.00. Mais, quand je l'affiche, il est affiché comme : -2893604342.

Voici l'extrait de code ...

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

Je l'ai même remplacé par Number mais il affiche toujours le même nombre négatif.

Veuillez me faire savoir s'il y a un problème avec int o Number !

14voto

JMHNilbog Points 563

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

(Il suffit de les tracer.)

5voto

Les entiers en flash sont de 32 bits, donc la valeur maximale d'un int non signé est (2^32)-1, 0xffffff ou 4294967295. la valeur positive maximale d'un int signé est (2^(32-1))-1 ou 2147483647 (un des bits est utilisé pour le signe). le type Number est de 64 bits.

afin de garantir un espace pour votre résultat, tapez la variable en Nombre et convertissez le résultat en Nombre (ou pas du tout).

var avg : Nombre = 0 ; ... avg += totalData[i][col.dataField] as Number ;

2voto

Joseph Silvashy Points 14960

La plus grande valeur intégrale exacte est 2^53, N'oubliez pas qu'ActionScript est l'ECMA dans l'âme. Recherchez l'opérateur ToInt32 pour plus d'informations à ce sujet.

2voto

Richard Szalay Points 42486

Essayez de l'intégrer à un uint au lieu d'un int

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X