VBA 运行时错误 6 溢出 - 为什么会发生这种情况



在我对这里问题的回答中:https://math.stackexchange.com/questions/2093497/finding-number-of-coprime-tuples-from-1-to-n/2094773#2094773 在 Math SE 上,我目前收到以下行的运行时错误:

P=599*601

错误消息是运行时错误 6 溢出

P 定义为双精度类型的公共变量。我还在我的"模"函数中使用了p,定义为双精度。

为什么会发生这种情况,我该怎么做才能纠正它?

我找到了一个解决方法:如果我将规定的行更改为:

P=359999

则不会发生错误。因此,为什么 P=599*601 线会给出错误?

经过研究,我发现这个怪癖可以通过以下代码来解决:

Dim Prime1 as Long
Dim Prime2 as Long
Public P as Long
...
P=Prime1 * Prime2

问题的原因可能是由于将整数类型分配给 p,因为当乘以整数时

,数字。

相关内容

最新更新