Flash / Flex / ActionScript/Data Type/Number
Содержание
- 1 Casting to a Number: Number(stringValue)
- 2 Dealing with Infinite Values: Number.POSITIVE_INFINITY and Number.NEGATIVE_INFINITY
- 3 Decimal Numbers
- 4 Handling Minimum and Maximum Values: MAX_VALUE and MIN_VALUE
- 5 Minimum and Maximum Values for uint and int
- 6 Not a Number: use the top-level function isNaN()
- 7 Read and write to a variable
- 8 The default value for an unassigned variable of type Number is NaN
- 9 Use Number type variable in for loop
- 10 Working with Number Instances
Casting to a Number: Number(stringValue)
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var nOne:Number = Number("468"); // 468 var nTwo:Number = Number("23.45"); // 23.45 var nThree:Number = Number("abc"); // NaN (Not a Number) var nFour:Number = Number("0101"); // 65 (Octal) } }
}
</source>
Dealing with Infinite Values: Number.POSITIVE_INFINITY and Number.NEGATIVE_INFINITY
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ trace(isFinite(10)); // Displays: true trace(isFinite(Number.POSITIVE_INFINITY)); // Displays: false
} }
}
</source>
Decimal Numbers
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var nDecimalOne:Number = 1.23e+2; // results in 123 var nDecimalTwo:Number = 1.23e-2; // results in 0.0123 trace(nDecimalOne); trace(nDecimalTwo); } }
}
</source>
Handling Minimum and Maximum Values: MAX_VALUE and MIN_VALUE
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ trace(Number.MAX_VALUE); trace(Number.MIN_VALUE); } }
} 1.79769313486231e+308 4.9406564584124654e-324
</source>
Minimum and Maximum Values for uint and int
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ trace(uint.MIN_VALUE); //0 trace(uint.MAX_VALUE); //4294967295 trace(int.MIN_VALUE); //-2147483648 trace(int.MAX_VALUE); //2147483647 trace(Number.MIN_VALUE); //4.9406564584124654e-324 trace(Number.MAX_VALUE); //1.79769313486231e+308 } }
}
</source>
Not a Number: use the top-level function isNaN()
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var n:Number; trace(n); //NaN trace(isNaN(n)); //true trace(n == NaN); //false! That"s why you use isNaN() n = Number("this won"t convert into a number"); trace(isNaN(n)); //true n = 10; trace(isNaN(n)); //false } }
}
</source>
Read and write to a variable
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var myVariable:Number = 15; // Write trace(myVariable); // Read myVariable = 16; // Write again trace(myVariable); // Read again } }
}
</source>
The default value for an unassigned variable of type Number is NaN
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var n:Number; trace(n); // NaN n = 12; trace(n); // 12 } }
}
</source>
Use Number type variable in for loop
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ for (var i:Number = 25; i > 0; i--){ trace(i); } } }
} 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
</source>
Working with Number Instances
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var nInstance:Number = new Number(11); var nVal:Number = new Number(123); trace(nVal.toString(16)); // Displays: 7b } }
}
</source>