Excel 2013 マクロ講座 15回倍精度浮動小数点数型 Double
Excel 2013マクロ講座15回
変数〜Double(倍精度浮動小数点数型)
今回は、小数点を変数に取る場合の型を見て行きましょう。
前回(14回)のサンプルFileを開くか、新規でコードを入力してください。
(サンプルファイルは、こちらから 2013マクロ講座15回サンプルデータ)
変数を宣言する〜Double(倍精度浮動小数点数型)
コードをコピーして貼り付けます。

マクロprog1をコピーして貼り付け、名前をprog3に変更しました。

そして、Xの値を小数点付きの数字に変更します。例では、8.5


Sub prog3()
Dim x As Single
x = 8.5
Range("A1").Value = x
End Sub
VBEのコードウィンドウとExcelのウィンドウを並べて(比較のため)、
ユーザーフォームの実行ボタンを押します。

ユーザーフォームの実行ボタンを押します。

スポンサーリンク
スポンサーリンク
当たり前ですが、
変数xはIntegerだ!
と宣言しているので、8.5と入れても、
「あ、8ね。」
と理解しているんですね。
では、Integerを小数点以下を扱える変数タイプSingleに書き換えてください。
変数xはIntegerだ!
と宣言しているので、8.5と入れても、
「あ、8ね。」
と理解しているんですね。
では、Integerを小数点以下を扱える変数タイプSingleに書き換えてください。
ユーザーフォームの実行ボタンを押します。
今度は、きちんと小数点のついた値が表示されました。

今度は、きちんと小数点のついた値が表示されました。

Single(単精度浮動小数点数型)は小数点を含む数値を格納する変数タイプです。
もう一つDoubleというのがあって、Double(倍精度浮動小数点数型)は単精度浮動小数点数型(Single)よりも大きな桁の数値を格納する変数タイプです。
そこで、
Dim x As Double
と宣言して、Xの桁数が大きくなるようにしてみます。

もう一つDoubleというのがあって、Double(倍精度浮動小数点数型)は単精度浮動小数点数型(Single)よりも大きな桁の数値を格納する変数タイプです。
そこで、
Dim x As Double
と宣言して、Xの桁数が大きくなるようにしてみます。

どこからどこまでが、Singleでどこからが、Doubleなのかは、一番面倒なことですが、
Singleの有効桁数は7桁(内部的には9桁)なので、7桁を超える値を扱う可能性がある場合は、Doubleを使えばいいのですが、悩む位ならいっそ、
小数点を扱う時は、いつもDoubleでいいかと思います。
single 単精度 (-999999. 〜 999999.)
double 倍精度 (-9999999999999999. 〜 9999999999999999.)
Singleの有効桁数は7桁(内部的には9桁)なので、7桁を超える値を扱う可能性がある場合は、Doubleを使えばいいのですが、悩む位ならいっそ、
小数点を扱う時は、いつもDoubleでいいかと思います。
single 単精度 (-999999. 〜 999999.)
double 倍精度 (-9999999999999999. 〜 9999999999999999.)
Sub prog4()
Dim x As Double
x = 8.12345 * 50.67
Range("A1").Value = x
End Sub
スポンサーリンク
スポンサーリンク