• ベストアンサー

actionscript アルファベットを数値に変換できる?

Flash Actionscriptの開発で困ってます。 テキストフィールド1とテキストフィールド2があります。それぞれのフィールドに入力されたアルファベットを数値に変換(例えばAと入力されたら1、Bなら2、Cなら3)して、A+B=3のように足し算して返すにはどうしたらよいでしょうか?? こういうのを覆面算?っていうんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

ご使用の Flash のバージョンや ActionScript のバージョンなどがわかりませんので, 何とも言えませんが...。 (何とも言えないというのは場合によって答えがありすぎて,つまり変わりすぎて回答のしようがないということです。) 普通考えるのは ASCIIコード で対象参照すれば良いのではないでしょうか。 しかし, 規則が不規則な場合は配列やハッシュ(ハッシュもどき:結合配列)を使うかもしれません。 ActionScript1.0 or 2.0 で ASCII コードを使う方法 新規ドキュメントを作成して フレーム1 に次のスクリプトをコピペして 「制御」→「ムービープレビュー」 ------------------------------------------------- // 変数 my_str の値を "A" とする my_str = "A"; // 変数 my_str の 1 番目の文字を ASCII コードで出力 trace(my_str.charCodeAt(0)); // ↑ココで 65 が返るので 64 を引いてやる trace(my_str.charCodeAt(0)-64); // ↓"B"に関してもやってみる my_str = "B"; trace(my_str.charCodeAt(0)-64); // ↑ちゃんと 2 が返る ------------------------------------------------- ActionScript1.0 or 2.0 で ハッシュもどきを使う方法 新規ドキュメントを作成して フレーム1 に次のスクリプトをコピペして 「制御」→「ムービープレビュー」 ------------------------------------------------- // 変数 STR という Object を作成 STR = new Object(); // "A"エレメントの値を1,"B"エレメントの値を2,"C"エレメントの値を1 とする STR = {A:1, B:2, C:30}; // "A"エレメントの値を取り出してみる trace(STR["A"]); // "B"エレメントの値を取り出してみる trace(STR["B"]); // "C"エレメントの値を取り出してみる trace(STR["C"]); // ↑ ちゃんと 「1」 「2」 「30」 が返りますね // ちなみに値の型は何? trace(typeof (STR["A"])); // ↑numuber(数値) です ------------------------------------------------- ※ ASCII や ハッシュ が使えないバージョンでも   場合によっては if文 を使えば乗り切れます。

yolayola
質問者

お礼

ありがとうございます。 ASCIIコードを使う方法があったんですね。 大変勉強になりました。

関連するQ&A