• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2008での表示可能桁数について)

VB2008での表示可能桁数について

このQ&Aのポイント
  • VB2008EEで16進数と10進数の相互変換を行おうと思い、桁数の表示について不思議な現象が起きました。
  • VBでの16^16の結果は「18446744073709600000」となり、電卓での計算結果とは異なっています。
  • Decimalデータ型は「+/-79,228,162,514,264,337,593,543,950,335」まで表示可能なため、桁不足の問題はないはずです。対応策をご教示いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

http://msdn.microsoft.com/en-us/library/zh100ckf%28v=VS.80%29.aspx によると^演算子は【Doubleと異なる場合、オペランドはそれぞれDoubleに変換される】らしいです。 次のコードを見てください。前者はDoubleを掛け算していったために誤差が出ていて、後者はずっとDecimalなので正確な値が出力されています。 http://ideone.com/2DDRI #Decimal * IntegerってDecimal * Decimal扱い?面倒だから調べてないけれども。

naoton119
質問者

お礼

なるほど。そう言うことだったのですね。 変数の型はDecimalになっていたけれど、数字に「D」を付加してなかったため、扱いが(おそらく)Duble or Integerで扱われていたためのようですね。 問題が解決できそうです。 ありがとうございました(^^

すると、全ての回答が全文表示されます。

関連するQ&A