2009-08-05 16 views
5

Estaba tratando de mostrar un número: 2893604342.00. Pero, cuando lo visualizo, se muestra como: -2893604342.¿Cuál es el valor entero máximo en Flex?

A continuación se presenta el fragmento de código ...

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

Incluso he reemplazado con Number, pero sigue mostrando el mismo número negativo.

Por favor, hágamelo saber si hay algún problema con int o Number!

Respuesta

2

El valor integral exacto más grande es 2^53, Recuerde que ActionScript es ECMA en el fondo. Busque el operador ToInt32 para obtener más información sobre eso.

+0

Hola, Supongo que no tenemos ese operador en ActionScript, intenté usar Number, que es bastante más grande pero sigue teniendo el mismo valor negativo. –

3

Prueba a enviar contenido a un uint en lugar de un int

5

números enteros de flash son de 32 bits, por lo que el valor máximo de un unsigned int es (2^32) -1, 0xffffff o 4294967295. valor positivo máximo de un int firmado es (2^(32-1)) - 1 o 2147483647 (uno de los bits se usa para el signo). el tipo de Número es 64 bits.

con el fin de garantizar el espacio para su resultado, escriba la variable en Número y arroje el resultado al Número (o no aparezca en absoluto).

var avg: Number = 0; ... avg + = totalData [i] [col.dataField] como Número;

14

Los valores máximos son accesibles a través de las propiedades estáticas de cada tipo numérico:

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

(. Sólo rastrear 'em)

Cuestiones relacionadas