トピック
??? 258556

文字列を数値に変換する方法がわかりません

タイトル通り、文字列を数値に変換する方法が分かりません。どうやるのですか?
0そうだね
プレイ済み
返信[1]
親投稿
つばさ☆ nsm2116
変数=VAL(文字列、または文字列変数) です。
0そうだね
プレイ済み
返信[2]
親投稿
ΖΕΧ ZEX256
? VAL("1.000") 1 ? VAL("1.005") 1.005 ? VAL("&H10") 16 ? VAL("&B10") 2
2そうだね
プレイ済み
返信[3]
親投稿
Godot orz_127
?ASC("あ")
2そうだね
プレイ済み
返信[4]
親投稿
ツララ LongIceSword
一口に文字列と言っても実は種類があって、&Hや&Bを頭に付けたり数値そのままを「”」で囲んだ数値文字列ならZEXさんの方式を、それ以外の文字列ならGodotさんのASC()関数を使ってアスキーコードっていう各文字に振られた固有番号の数値に変換する方式がありますね。 なんならIF文を使って文字列中の一つ一つの文字を判定して、別の番号を振って暗号にしたりなんかも、数値に変換と言えなくもないかも? ちなみにASC()関数に二文字以上の文字列を入れてもエラーにはならないけれど、特に指定が無ければ先頭の一文字を、MID$()関数などで文字列中の一文字を指定してやればその文字の番号が返ってくるんですね。
2そうだね
プレイ済み
返信[5]
親投稿
??? 258556
ASC()を使って変換するやり方はわかったのですが、VAL()を使って変換するのはあまりわかりません。16進数、2進数はどのようにして使うのですか?
0そうだね
プレイ済み
返信[6]
親投稿
ΖΕΧ ZEX256
>どのように使うのですか? その使い方を示したのですよ?
0そうだね
プレイ済み
返信[7]
親投稿
say sayer.exe
「16進数表現されている文字列を使うとき」 「2進数表現されている文字列を使うとき」 に使います ZEXさんの例は、飽くまで使用例を示しただけと捉えるのが無難です 使う機会があれば、是非とも思い出してくださいレベルの内容だったりします ☆内容的には常識レベルだが、DATA文の価値が低くなってる現状ではけっこうレア
0そうだね
プレイ済み
返信[8]
親投稿
??? 258556
ありがとうございました!
0そうだね
プレイ済み
返信[9]
親投稿
ツララ LongIceSword
16進数や2進数の使いどころは人によって違うかもしれませんけど、自分はボタン入力を受け取るBUTTON()関数の使い方を覚える時になんかに、2進数表記に直して表示したりしてましたね。 コンピュータが扱う数の振る舞いの感覚を掴んで、すぐ頭の中で変換出来る様になると、普通の10進数でも問題無くなるんですけど、慣れるまでは理解の補助として役に立つと思いますよ。 んで、16進数が役に立つ場面って、例えばASC()関数を使う時だったりします。 ネットで「アスキーコード表」で調べてみると分かると思うんですけど、固有の番号を示す「番地」の区切りに16進数使ってます。
1そうだね
プレイ済み
返信[10]
親投稿
??? 258556
とりあえずテストプログラムをつくってみました。 アスキーコードや2進数・16進数はあまり理解できていないのですが、こんな感じのプログラムでいいのですか? 2進数などはもう一度、詳しく調べようと思います。
1そうだね
プレイ済み
返信[11]
親投稿
ツララ LongIceSword
アスキーコード表ってのは掛け算の九九の表を思い浮かべてもらえれば分りやすいかと。 コンピュータは基本的に0か1かで動いてる機械なので、0と1しか使わない2進数と相性が良いんですけど、2進数はすぐ桁が繰り上がってしまうので普段使いには不便なんですよね。なので、その拡張版として2の乗数の数の進数(16進数の16は2の4乗)を使う様になったんじゃないかと。 2や16よりも10の方が切りがいい感じしますけど、機械にとっては2や16の方が切りがいい数なんですね。 ちなみに数学でも0と1は特別な数なので、数学とも相性いいんですよね。
0そうだね
プレイ済み
返信[12]
親投稿
??? 258556
そうなんですか。覚えておきます。 何度もありがとうございました!
0そうだね
プレイ済み