[]将一个Number类型的变量赋给一个int型变量,转换后为何没有自动取整呢?

var i:Number=1.111111111111;
var b:int=i;
trace(b);
as下结果为1,h5下还是1.111111111111
 
已邀请:

cuixueying

赞同来自:

 使用int/Number/uint须知
(1)、Number赋值int注意事项描述:
    在JS中Number赋值给int不会自动取整,因此,确定需要整型(在转换后)、数组下标或整形做相等判断时,需要在AS3中用int取整。 
原生例子: 
var numb:Number = 1.6; 
var ab:int = numb; trace(ab);

兼容H5写法: 
var numb:Number = 1.6;
var ab:int = int(numb);trace(ab);

(2)、int转uint注意事项描述:
   在AS3代码中,存在int数据转uint功能需求时,需要额外使用uint方法转换,JS不会在此种情况下不会做任何操作。 
原生例子: 
var num:int = 2340923944589; 
transfrom(num);
public function transfrom(value:uint):void
{
trace(value);
}

兼容H5写法: 
var num:int = 2340923944589; 
transfrom(num);
public function transfrom(value:uint):void
{
trace(uint(value));
}

(3)、除法运算取整描述:
   和Number赋值int同理,确定需要整型时,需要额外使用int进行强转。 
原生例子: 
var aa:int = 11 / 10; trace(aa); 

兼容H5写法: 


var aa:int = 11 / 10;trace(int(aa));

要回复问题请先

商务合作
商务合作