[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/11/24(Wed) 13:15
投稿者名:タイガーマスク
Eメール:
URL :
タイトル:
足し算ができません。
変数a,b,c,dをDoubleで宣言して
a = 1
b = 2
c = 3
d = a + b + c
というプログラムを実行するとdの中身が6ではなく123になってしまいます。
何が原因でしょう?

投稿時間:2004/11/24(Wed) 13:26
投稿者名:LESIA
Eメール:
URL :
タイトル:
Re: 足し算ができません。
> 変数a,b,c,dをDoubleで宣言して

本当に変数a,b,c,dをDoubleで宣言してますか?
Dim a, b, c, d As Double
だと、変数a,b,cはVariant型でdのみDoubleになります。

> a = 1
> b = 2
> c = 3
> d = a + b + c
> というプログラムを実行するとdの中身が6ではなく123になってしまいます。
> 何が原因でしょう?

変数a, b, cには本当に直接数値を代入していますか?
もしそうなら、たとえVariant型でも6になるはずですが…。
たとえばテキストボックスに数値を入れて
a = Text1.text
b = Text2.text
c = Text3.text
とかじゃないですか?

投稿時間:2004/11/24(Wed) 13:36
投稿者名:タイガーマスク
Eメール:
URL :
タイトル:
Re^2: 足し算ができません。
そうです。
a = Text1.text
b = Text2.text
c = Text3.text
という形で代入して足し算するとたとえばText1.text = 1, Text2.text = 2, Text3.text = 3の場合
a + b + c = 123になってしまいます。ためしにa,b,cに直接数値を入れて計算したら正しい答えが
得られました。あいまいな説明ですみません。

投稿時間:2004/11/24(Wed) 13:45
投稿者名:タイガーマスク
Eメール:
URL :
タイトル:
自己完結しました。
バカみたいな見落としをしていました。
お騒がせしてすいません。