Есть одна шальная идея, правда работает вроде, но не "не зависимо от значения, присвоенного переменной"

Код:
var i:int = 2; // эту переменную надо проверить
var t:Number = i; //это временная
i+=0.5; // прибавим, а потом отнимим
trace(i == t+0.5); // false - значит i - int
i-=0.5; // отнимаем что прибавляли
// вот только i тут будет равна 1 =(, но думаю это поправимо
а если так

Код:
var i:Number = 2;
var t:Number = i;
i+=0.5;
trace(i == t+0.5); // true- значит i - number
i-=0.5;