Ответ 1
Простой:
if(_myValue is Number)
{
fire();
}// end if
[ОБНОВЛЕНИЕ]
Имейте в виду, что если _myValue
имеет тип int
или uint
, то (_myValue is Number)
также будет равен true
. Если вы хотите узнать, является ли _myValue
число, которое не является целым числом (int) или целым числом без знака (uint), другими словами, float, вы можете просто изменить условное выражение следующим образом:
(_myValue is Number && !(_myValue is int) && !(_myValue is uint))
Посмотрим на пример:
package
{
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var number1:Object = 1; // int
var number2:Object = 1.1; // float
var number3:Object = 0x000000; // uint
trace(number1 is Number); // true
trace(number2 is Number); // true
trace(number3 is Number); // true
trace(number1 is Number && !(number1 is int) && !(number1 is uint)); // false
trace(number2 is Number && !(number2 is int) && !(number2 is uint)); // true
trace(number3 is Number && !(number3 is int) && !(number3 is uint)); // false
}
}
}