痔になりやすい生活習慣とは?

下記のような処理があるとします。

Dim 変数1 As 宣言
Dim 変数2 As 宣言
Dim 変数3 As 宣言
Dim 変数4 As 宣言

変数1 = 0
変数2 = 0
変数3 = 0
変数4 = 0

変数1 = テキストボックス1.Text
変数2 = ラベル2.Caption
変数3 = ラベル3.Caption
変数4 = (変数2 + 変数3) - 変数1
ラベル4.Caption = 変数4

変数1~3には、小数点第2位までの
数値が入る事があるのですが、
例)
変数1 = 3.0
変数2 = 4.75
変数3 = 7.75
の場合、変数4 = 0 と計算される。

その場合、変数4の計算結果が
正しく出力されません。
宣言はDoubleを使うと計算結果は
16進数表示になり、Singleを使うと0になります。
正しい計算結果を出すには
どのようにすれば良いでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

通貨型ってVBにありましたっけ。


AccessVBAだとあるのですが。最近VB書いていないので覚えていないです。

Dim 変数 As Currency

確か小数第4桁までの固定で丸めが起こらないはずなのですが。

どうでしょうか?
    • good
    • 0

ひとまず、小数以下桁数が決まっているような計算では、Currency型を使うのが基本です。



Doubleで16進数表示されたり、Singleで0と表示されるのも、ちょっとこのソースだけでは予測不可能です。
しかも4.75 + 7.75 - 3は0じゃないでしょう。

とりあえずCurrencyを使ってみてから、計算間違いがないか確認してください。
    • good
    • 0
この回答へのお礼

>回答者の方へ

ありがとうございました。
解決出来ました。
質問に一部不備があった事をお詫びします。

お礼日時:2002/11/06 14:57

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング