Private Sub Command1_Click()
Dim x As Double
Dim z As Double
x = 2147520000#
z = x \ 300
End Sub
型の許容範囲なのに、
z = x \ 300
でエラーが発生します。
なぜですか?
また、回避策を教えてください。
z = x mod 300 とした時も同様です。
編集 削除ヘルプをちゃんと読みましょう。
VS6.0 MSDNライブラリより
> \ 演算子
(略)
> 除算を実行する前に、数式はバイト型 (Byte)、整数型 (Integer)、または長整数型 (Long) の式に丸められます。
2147520000は上記の最大の型であるLong型の範囲外ですから,当然エラーになります。
回避策はないのでしょうか?
編集 削除何を解決するつもりですか?
まずはそれから書いてください.
エラーを回避する方法で、計算したいです。
編集 削除> エラーを回避する方法
「回避する方法」と言うのが、
『「\演算子」や「Mod演算子」を使った方法』なら、無理なのでは・・・
「\演算子」や「Mod演算子」の使用はあきらめて、
自前で(エラーにならないような)商・剰余の計算プログラムを作るとかしないと・・・
例えば、こんな関数を用意するとか・・・
--------------------------------------------------------------
Function Amari(ByVal a As Variant, ByVal b As Variant) As Variant
Dim c As Variant
Dim c2 As Variant
Dim b2 As Variant
c = CDec(a)
b2 = CCur(b)
c2 = Fix(c / b2)
Amari = c - c2 * b2
End Function
------------------------------------------------------------------
ありがとう
編集 削除