メイン 迷える子羊の部屋【初心者専用】 数字と文字 | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
とんび | Åê¹ÆNo.38673 投稿日時: 2008-5-3 16:28 |
Bak@Fla大巨匠 居住地: 佐賀県 杵島郡 投稿: 275
使用環境:
MX CS3 :Flash CS6:CS6 .7.5 |
Re: 数字と文字 解決した時は、どのようにして解決できたか書いておくと、後でこのスレッドを見たひとの参考になるので、書いておくことをオススメします。
ちなみに、解決して思っていたら、実は全くの勘違いでたまたま解決したように見えていただけ、なんてこともありがちです。 つまり、読者に対しても自分自身に対してもも、どのようにして解決されたか書いておいた方が得です。
|
wowow | Åê¹ÆNo.38657 投稿日時: 2008-5-2 15:26 |
新米 居住地: 投稿: 28
使用環境:
WinVista,Flash MX2004 |
Re: 数字と文字 解決しました。
返事が遅くてすみません。 |
野中文雄 | Åê¹ÆNo.38483 投稿日時: 2008-4-18 12:05 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 数字と文字
|
wowow | Åê¹ÆNo.38482 投稿日時: 2008-4-18 11:59 |
新米 居住地: 投稿: 28
使用環境:
WinVista,Flash MX2004 |
Re: 数字と文字 テキスト入力された数字を計算する時に必要ということでしょうか?
では、 テキスト入力ボックスのインスタンス名a_txt テキスト入力ボックスのインスタンス名b_txt ダイナミックテキストのインスタンス名ans_txt だとして、 a = a_txt.text; b = b_txt.text; c = a + b; ans_txt/text = c; とやったときもparseInt()が必要ということでしょうか? |
野中文雄 | Åê¹ÆNo.38481 投稿日時: 2008-4-18 11:50 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 数字と文字 ご質問の意図が、よくわかりません。
[1]文字と文字とを演算子+で「足し算」すると、ふたつの文字が連結されます。 例: ans = "1"+"2" // ans: "12" [2]数値と数値を演算子+で「足し算」すると、ふたつが数値演算で加算されます。 例: ans = 1+2 // ans: 3 これらの結果で問題がなければ、parseInt()関数を使う必要はありません。 [3]文字として認識されている数字に対して、数値演算の加算を行いたい場合には、「足し算」の前に文字を数値に変換しなければなりません。 [3-1]parseInt()関数を使うと、文字の数字を整数に変換します。 例: ans = parseInt("1")+parseInt("2") // ans: 3 ご質問の意図が、parseInt()関数以外を使って文字から数値への変換ができないのか、ということでしたら、他の関数も使えないことはありません。 [3-2]parseFloat()関数を使うと、文字の数字を浮動小数値に変換します。 例: ans = parseFloat("1")+parseFloat("2") // ans: 3 [3-3]Number()関数を使うと、文字の数字を数値に変換します。 例: ans = Number("1")+Number("2") // ans: 3 なお、足し算以外であれば数値演算の結果が得られるのは、足し算以外の四則演算は文字列には定義されていないため、文字から数値への変換が自動的に行われるからです。 [4]したがって、つぎのようにして数値演算の足し算を行うこともできます。ただし、お勧めはしません。 例: ans = "1"*1+"2"*1 // ans: 3 引用: wowowさんは書きました: |
Tonpoo (gaienboy改め) | Åê¹ÆNo.38480 投稿日時: 2008-4-18 11:40 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: 数字と文字 普通に数値を扱うならば、parseInt()などを使わなくても足し算は可能です。
今回の場合は、テキストフィールド(テキスト入力)上の値であったために、おそ らくデフォルトでは文字列として扱われてしまったのではないでしょうか。
|
wowow | Åê¹ÆNo.38479 投稿日時: 2008-4-18 11:33 |
新米 居住地: 投稿: 28
使用環境:
WinVista,Flash MX2004 |
Re: 数字と文字 ありがとうございます。
ところで、足し算する場合 parseInt() は必須なのでしょうか? |
Tonpoo (gaienboy改め) | Åê¹ÆNo.38478 投稿日時: 2008-4-18 11:24 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: 数字と文字 gaienboyです。
テキスト入力に入力されている値が、数値ではなく文字列として扱われているため にそうなるのだと思います。下記のようにすれば解決するのではないでしょうか。
引き算、かけ算、割り算で数値として演算されたのは、文字列は引いたり掛けたり 割ったりという演算ができないため、演算子の左右の値が自動的に数値として判断 された、とかそんなところかと思います。 余談ですが、テキスト入力やテキストボックスを用いるとき、「変数:」欄を使う のではなく、インスタンス名を使って識別し、TextField.textプロパティを使って アクセスしたほうがいいように思います。
|
wowow | Åê¹ÆNo.38477 投稿日時: 2008-4-18 11:17 |
新米 居住地: 投稿: 28
使用環境:
WinVista,Flash MX2004 |
数字と文字 テキストボックス(テキスト入力)変数名aと
テキストボックス(テキスト入力)変数名bを ボタンシンボルを押すと足し算され テキストボックス(ダイナミックテキスト)変数名ansに 答えを表示させました。 たとえば aに1 bに2 と打ってボタンを押すと普通はansに3が表示されますが、 12と出ます。 どうしてでしょうか? 引き算、掛け算、割り算なら普通に答えが出ました。 ボタンに記述したスクリプト on(release){ ans = a + b; } |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |