« データ型の種類 | メイン | 厳密な型指定 »

データ型の変換

文字列(String)の"123"を数値(Number)の123として計算したいというように、値のデータ型を変換したい場合があります。そのような場合に次のような変換方法があります。
ただし、元の値がどう変換されるかについては元のデータ型などによって違うので注意してください。また、Flash 6以前とFlash 7では結果が同じでないものがあります。

■文字列(String)への変換
ある値をストリングに変換するには、Number.toString()メソッド、Object.toString()メソッド、String()関数を使います。

例:
x = 12;
y = x + 3;
trace(y); // 15
x = x.toString(); // "12"
y = x + 3;
trace(y); //出力→ "123"

例:
x = 12;
y = String(x) + 3;
trace(y); //出力→ "123"

例:
a = [1,2,3];
as = a.toString(); // "1,2,3"

また、次のように値を別のストリングと連結することで全体がストリングになります。空のストリング""の連結でもかまいません。

例:
age = 18;
usr = "ゆき" + age + "才";
trace(usr);// 出力→ ゆき18才


■数値(Number)への変換
ある値を数値に変換するには、Number()、parseInt()、parseFloat()の関数を使います。parseInt()は整数に変換し、parseFloat()は浮動小数点に変換します。

例:
v = Number("123.4"); // 123.4
v = Number(true); // 1
v = Number(false); // 0
v = Number("12円"); // NaN

例:
v = parseInt("123.6"); // 123
v = parseInt(true); // NaN
v = parseInt(false); // NaN
v = parseInt("12円"); // 12
v = parseInt("車5台"); // NaN
v = parseInt("3.56e+8"); //3

例:
v = parseFloat("123.4"); // 123.4
v = parseFloat("3.56e+8"); // 356000000

また、次のように値から0を引くという方法でも値を数値に変換することができます。

例:
v = "123" - 0;
trace(v); //出力→ 123
trace(typeof v) //出力→ number

■ブール値(boolean)への変換
ある値を数値に変換するには、Boolean()関数を使います。値がtrue、falseのどちらに変換されるかは、元の値の種類で決まっています。

例:
v = Boolean(0); // false
v = Boolean(1); // true
v = Boolean(123); // true
v = Boolean("test"); // true
v = Boolean(null); // false
v = Boolean(undefined); // false


note:
スクリプトの実行の過程において、対象となる値が適切なデータ型ではなかったとき、その値は演算可能なデータ型の値に自動的に置き換えられて処理されます。

投稿者 oshige : 2005年02月15日 16:04

トラックバック

このエントリーのトラックバックURL:
http://oshige.com/mt/mt-tb.cgi/1191

コメント

コメントしてください




保存しますか?