0を足すと0になる?

解決


sak  2003-08-01 13:26:04  No: 78858  IP: [192.*.*.*]

初歩的なことかも知れませんが、御教授お願いします。

データの平均を取ってグラフ化するプログラムを作っているのですが
平均を取るためにデータを足す時、0を足すと
-1.631E-8 + 0.000 = 0
こんな感じになってしまいます。
0以外ではちゃんと計算できていますが、1回でも0を足すと全て0になります。
変数の型はvariantです。
原因は何でしょうか?

よろしくお願いします。

編集 削除
イトウ  2003-08-04 12:56:53  No: 78859  IP: [192.*.*.*]

仮数の桁落ちですかね?…でも0はちゃんと認識しているはずですから、違うか。
もしかしたらCPUやらの危険信号かもしれません。

ちなみにMicrosoft VBSはデバッグウィンドウで、
? -1.631E-8 + 0.000 
しても、
-0.00000001631
って出てきましたが。

ひとまず、浮動小数点をDoubleやVariantでCDecをかけて十進型にして計算してみてください。

編集 削除
sak  2003-08-04 15:34:39  No: 78860  IP: [192.*.*.*]

回答ありがとうございます。

いろいろと試してみたところ、csvファイルから配列に読み込んで
計算してたんですが、ファイル上では  0.000  だったのが
変数に収めると 0 になっていました。
これをもう一度  0.000(0#)に置き換えることで解決しました。

どうもお騒がせしましたm(_ _)m

編集 削除