Number (livedocs@lab) は整数や浮動小数点数を表すことのできる型です。Number のオブジェクトは IEEE-754 に定義される 64-bit の倍精度のフォーマットで約 4.94e-324 から 1.80e+308 の値を正負それぞれの領域で表すことができます。このため int や uint ではカバーできない数値も扱うことができます。
正確な最大値/最小値は以下のとおり定義されています。
Number.MAX_VALUE // 正の数の最大値 Number.MIN_VALUE // 正の数の最小値
Number オブジェクトは toString() メソッドを使って文字列に変換できます。Number クラスでも引数に基数を指定することができます。が、指定した場合は小数部が無視されます。
var myNum:Number = 9.5; trace(myNum.toString()); // 9.5 が出力される trace(myNum.toString(2)); // 1001 が出力される trace(myNum.toString(16)); // 9 が出力される
toFixed() メソッド
toFixed() メソッドは Number オブジェクトの持つ値を小数点数で表現した文字列として返します。引数には小数点以下の有効な桁数を指定します。指定できる範囲は 0 から 20 です。
var num1:Number = 7.31843; trace(num1.toFixed(2)); // 7.32 が出力される var num2:Number = 4; trace(num2.toFixed(2)); // 4.00 が出力される
指定された桁数分の小数部が無い値には必要な数だけ 0 が追加されます。
toExponential() メソッド
toExponential() メソッドは Number オブジェクトの持つ値を指数形式で表した文字列として返します。toFixed() と同じように引数には小数点以下の有効な桁数を指定します。指定できる範囲はこっちも 0 から 20 です。
var num1:Number = 731843; trace(num1.toExponential(2)); // 7.31e+5 が出力される var num2:Number = 4; trace(num2.toExponential(2)); // 4.00 が出力される var num1:Number = 0.731843; trace(num1.toExponential(2)); // 7.31e-1 が出力される
0 から 10 の間の数値には e+0 とかがついたりはしないようです。
toPrecision() メソッド
toPrecision() メソッドは Number オブジェクトの持つ値を指定した有効桁数の文字列に変換します。戻り値は小数の場合も指数形式の場合もあります。引数の範囲は 1 から 21 です。
var num1:Number = 73.1843; trace(num1.toPrecision(3)); // 73.1 が出力される var num2:Number = 4000; trace(num2.toPrecision(3)); // 4.00e+3 が出力される
Number() 関数
Number() (livedocs@lab)はプリミティブ型の値を浮動小数点数に変換するグローバル関数です。
trace(Number("")); // 0 が出力される trace(Number(" 2.4")); // 2.4 が出力される trace(Number("2.a")); // NaN が出力される
int() や uint() と違い数字で無い文字を含む文字列は NaN になります。
コメントする