在VB6中Clong溢出

时间:2009-05-26 05:57:57

标签: vb6 types

我在使用Clong数据类型时因为非常大的值而在VB 6.0中出现溢出错误。怎么克服这个?还有其他可用的值高于Clong数据类型吗?

5 个答案:

答案 0 :(得分:5)

根据您的真正重要值的大小,VB6货币数据类型可能是一个不错的选择。

它支持的范围为-922,337,203,685,477.5808至922,337,203,685,477.5807。

答案 1 :(得分:3)

您可以使用 Double 而不是Long,因为它可以容纳更大的数字。该函数是CDbl()而不是CLng()。

在VB6.0中,Long为32位,可以保存最大值:2,147,483,648
Double是64位,旧值可以达到:1.79769313486231570E + 308

编辑:请参阅此reference

答案 2 :(得分:1)

我相信即将推出的MSVS2010中的VB具有CLonger(64位),CEvenLongerYet(128位)和CTooDamnLongForSensibleUse(256位)数据类型。

< /幽默>

答案 3 :(得分:1)

以下是VB6参考手册topic on data types

中的一些选项
  • 长(长整数)4个字节 -2,147,483,648至2,147,483,647
  • 单一(单精度 浮点数)4个字节-3.402823E38 负值为-1.401298E-45; 1.401298E-45至3.402823E38为正值。大约6或7位有效数字的准确性。
  • 双 (双精度浮点数)8 字节-1.79769313486231E308到 -4.94065645841247E-324为负值; 4.94065645841247E-324至 1.79769313486232E308为正值。大约15或16位有效数字的准确性。
  • 货币(按比例调整的整数)8 字节-922,337,203,685,477.5808到 922,337,203,685,477.5807
  • 十进制14 字节 +/- 79,228,162,514,264,337,593,543,950,335 没有小数点; +/- 7.9228162514264337593543950335,右边28个地方 小数;最小的非零数是 +/- 0.0000000000000000000000000001

答案 4 :(得分:0)

尽量避免被零除。如果代码的分子和分母对象等于零,请尝试使分母等于1.因此,零/零=溢出          零/ 1 =零(无溢出)