回答編集履歴
2
説明の修正
answer
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
> その”4桁の小数”というのが10進数での4桁かどうかが知りたいのですが。。。
|
16
16
|
|
17
|
-
まず、VBAにおいて、内部的には整数も小数もすべて2進数です。
|
17
|
+
まず、VBAにおいて、内部的には整数も小数もすべて2進数です。演算も2進数で行います。
|
18
18
|
表示するときに、10進数に変換して表示しています。
|
19
19
|
|
20
20
|
2進数の整数の演算は誤差は生じませんが、
|
1
説明の追加
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
簡単にいうと、
|
2
2
|
|
3
3
|
通貨型は、
|
4
|
-
内部的には整数(
|
4
|
+
内部的には整数(LongLong型)で格納されていて、
|
5
5
|
表示するときに、末尾から4桁目に小数点を表示している。
|
6
6
|
|
7
7
|
ということだと思います。
|
@@ -10,4 +10,14 @@
|
|
10
10
|
内部的には、1899/12/30を起点とする経過日数が倍精度浮動小数点(Double型)で格納されていて、
|
11
11
|
表示するときに、書式設定にあわせて日付として表示している。
|
12
12
|
|
13
|
-
と同じことです。
|
13
|
+
と同じことです。
|
14
|
+
|
15
|
+
> その”4桁の小数”というのが10進数での4桁かどうかが知りたいのですが。。。
|
16
|
+
|
17
|
+
まず、VBAにおいて、内部的には整数も小数もすべて2進数です。
|
18
|
+
表示するときに、10進数に変換して表示しています。
|
19
|
+
|
20
|
+
2進数の整数の演算は誤差は生じませんが、
|
21
|
+
10進数の小数を正確に2進数の小数に変換できないので近似値の2進数になるため誤差が生じます。
|
22
|
+
|
23
|
+
通貨型の”4桁の小数”部分は、"2進数の整数"です。それを10進数の小数のように表示しているということです。
|