データ型の変換
String型の”4649″をint型の4649として計算したい時など、データ型を変換したい場合があります。
型変換には、暗黙的に行われる場合と、明示的に行う必要がある場合があります。明示的に行う型変換を「キャスト」と呼びます。
暗黙的な変換
以下はuint型とString型の連結の例。数値の11が暗黙的に文字列に変換され、文字列同士の連結が行われます。
var num:uint = 11; var str1:String = "キングカズ"; var str2:String; str2 = str1 + num; trace(str2); //キングカズ11
明示的な変換
明示的な変換には関数によるキャストと構文によるキャストがあります。
関数によるキャスト
トップレベルに用意されているキャスト用の関数を使用します。
| 関数 | 説明 |
|---|---|
| Boolean() | ブール値に変換 |
| Number() | Number型の数値に変換 |
| int() | int型の数値に変換 |
| uint() | uint型の数値に変換 |
| String() | 文字列に変換 |
文字列をNumber型の数値に変換する例。
var str:String = "3.14"; var num:Number; num = Number(str); //文字列を数値に変換 trace(num); //3.14
小数点以下の数値を含むNumber型の数値をint型やuint型にキャストすると小数点井が切り捨てられます。
var num1:Number = 3.14; var num2:int; num2 = int(num1); //Num型をint型にに変換 trace(num2); //3
構文によるキャスト
専用の関数が用意されていないデータ型に変換する場合でも、次のような構文を使用することで関連するクラスにキャストできます。
クラス(値)
以下はMovieClipクラスのインスタンス「mc」をSpriteクラスにキャストします。
var mc:MovieClip = new MovieClip(); var sp:Sprite; sp = Sprite(mc); //MovieClipクラスをSpriteクラスに変換
