質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

3回答

1411閲覧

vbscriptのfor文について

piyotaka

総合スコア39

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2015/07/03 04:05

編集2022/01/12 10:55

このvbscriptのソースコードの解説をお願いします。
どんな数値がきても足し算を成立させるソースコードを書きたいです。

Y = Len(B)
i = 0

For i = 0 To Y - 1
A(i) = Mid(B,i+1,1)

z = i + 1'後ろのやつ
For j = 0 To i - 1 '前のやつ
x = CStr(x) + CStr(A(j))

Next

Next

For k = z To Y - 1
X2 = CStr(X2) + CStr(A(k))
Next

For k = z To Y - 1
X2 = CStr(X2) + CStr(A(k))
Next

ans = CDbl(x) + CDbl(X2)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2015/07/03 06:33

「どんな数値が来ても」とは、整数値だけど桁数の限界を超えたいのか、それとも小数点も含めての話なのか、処理系が扱えるデータ型を踏まえた説明がほしいです。 [VBScript のデータ型](https://msdn.microsoft.com/ja-jp/library/cc392195.aspx "VBScript のデータ型")
piyotaka

2015/07/03 06:40

整数です。CDblにしてるのは、On Error Resume Nextをつけると上限を突破できるからです。しかし、指数になるので、もし指数表示にしない方法がありましたら、教えてください。 また、投稿者はこのコードでどうして1+1ができるのか教えてほしいです。
guest

回答3

0

正直、なにをしたいのかよくわかりません・・・

x と X2 の中に文字列 B を前後に分解して格納したいのかな???

それにしても、x には B の文字列の先頭から最後の文字を除いたところまでを何度も結合するので
B = "12345"
だったとすると
X = "112123124"
となるような?

また z は常に Y と同じ値になるので、X2への格納処理は通らないので常に X2 は変化しないですね
なのになぜ2度も同じ処理をするのか・・・謎です

投稿2015/07/03 06:06

編集2015/07/03 06:07
takito

総合スコア3111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

提示していただいているコードの中に「CStr()」と何度も出てきているので、
XやA()は文字列と思われます。

どんな数値がきても足し算を成立させるソースコードを書きたいです。

よって、現在のコードでX + A(i)と記述しても、文字列の結合にしかなりません。
計算をしたい場合は、数値型を使用して下さい。
第5回 データ型について理解を深めよう

投稿2015/07/03 07:02

編集2015/07/03 07:11
f-hanako

総合スコア159

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

piyotaka

2015/07/03 07:07

文字列を結合、例えば「1+1=11」にして、a=11, 次に、「1+1=11」にしてb=11 c=a(数列に変更)+b(数列に変更) でcは22になります
f-hanako

2015/07/03 07:14

大変失礼いたしました。コードの一部のみを見て判断してしまいました。
guest

0

vbscriptはあまりよくわかりませんが、
End If があるのに
IF がない・・・

vbscriptは End IF があれば、IF がなくてもよいのですか?
そんなことないと思うのですが・・・ご確認ください。

投稿2015/07/03 04:43

mangooo_pudding

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問