重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し




dim x as variant
x = (50 * 50 * 50) + (0.2 * 0.2 * 3.14 * 2000 * 2) + 10




としたところ、x=…の箇所で
 error"オーバーフローしました"が生じます。

なぜエラーが生じるのかがわかりません。
また、解決策がありましたら教えていただけないでしょうか?

よろしくお願いいたします。

A 回答 (1件)

dim x as variant


x = (50# * 50# * 50#) + (0.2 * 0.2 * 3.14 * 2000 * 2) + 10#
としましょう。
型宣言文字 # は、倍精度浮動小数点数型 (Double)です。
variantだと数値の場合、式を評価して勝手に
精度が調整されます。つまり50*50*50だと整数データばかりなので、
xも整数(INT)と認識されます。
    • good
    • 0
この回答へのお礼

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

Variantは万能だと思いこんでいましたが、
実はVariantも難しいものなんですね。

例文まで載せて戴きありがとうございました。

お礼日時:2008/12/09 19:41

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