• ベストアンサー

VBAでの0のデータ型は

VBAの初心者です。ExcelのVBAで小数点2桁の変数Xのデータ型を宣言したいのですが、このXは”0”の時もあります。 このような時はこの変数の型はどのように宣言したら良いのでしょうか、定義では、”Single”には正の範囲と負の範囲があって”0”がないようなのですが?

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.3

Singleで問題ないと思います。 (通貨型の方がいい場合もありますが;詳細はヘルプを参照下さい) 確かに、ヘルプで単精度浮動小数点型(Single)を見ると「負の数は~、正の数は~」と表記されて いますが、実際に代入してみるとわかるように「0」も設定可能です。 にもかかわらず、長整数型のように「-○○~+○○」といった表記をしないのは、それと同じように しまうと、実際に使用可能な桁数より小さいものまで含むことになってしまうからです。 ・・・まあ、「負の数は~、正の数は~」に続けて、「及び0が設定可能」とするのが、確かに 一番親切な表記だとは思いますけれど。

ganchan59
質問者

お礼

親切な回答ありがとうございます。 丁寧に説明していただいて分かりやすいです。 私もおかしいとは思いましたが、定義を正直に読むと迷ってしまい、質問しました。 これで安心しました。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

COBOLなら PIC 9(5)V9(2) のような定義がありますがVB、VBAでは変数自体にこのような定義をする方法は「ない」というのが回答になると思います。 定義するならSingleで定義しておいて、表示の際にROUNDDOWN関数で切り捨てたり、表示するセルの書式を  Range(XX).NumberFormat = "#,##0.00" などのように設定するのが一般的でしょう。

ganchan59
質問者

お礼

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

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

小数点2桁なら、たとえ0の場合があろうがSingleでいいはずです。 わたしも初心者ですが、小数点を含む数値は通常Single、桁が大きい場合はDoubleと教わりました。

ganchan59
質問者

お礼

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

関連するQ&A