我试图显示一个数字:2893604342.00。但是,当我显示它时,它显示为:-2893604342。
以下是代码段...
avg += int(totalData[i][col.dataField]);
我甚至用Number
替换了它,但它仍然显示相同的负数。
请告诉我int
或Number
是否有任何问题!
答案 0 :(得分:14)
可以通过每个数字类型的静态属性访问最大值:
Number.MAX_VALUE
uint.MAX_VALUE
int.MAX_VALUE
(只是追踪他们。)
答案 1 :(得分:5)
flash中的整数是32位,因此unsigned int的最大值是(2 ^ 32)-1,0xffffff或4294967295. signed int的最大正值是(2 ^(32-1)) - 1或2147483647(其中一个位用于标志)。数字类型是64位。
为了保证结果的空间,请将变量键入Number并将结果转换为Number(或根本不存在)。
var avg:Number = 0; ... avg + = totalData [i] [col.dataField]为Number;
答案 2 :(得分:3)
尝试将其投放到uint
而不是int
答案 3 :(得分:2)
最大的精确积分值是2 ^ 53,记住ActionScript是ECMA的核心。请查看运营商ToInt32以获取更多信息。