VB里的long

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:27:06
Long不是存放-2,147,483,648 到 2,147,483,647的吗?为什么我

Private Sub Command1_Click()
Dim a As Long
a = 24 * 3600
End Sub

运行到a = 24 * 3600会溢出呢

研究了一小段时间, 弄明白了.
24 * 3600 这里面24和3600都是Integer型的数, 所以它们的结果也是Integer型的.

而它们的结果864000虽然没有达到LONG型的限制, 但是已经超出了它们使用的INTEGER型的限制, 所以溢出了.

想进行这个表达式, 你必须将其中一个或者两个都转成LONG型. 这样结果就会是LONG型的. 有两种方法:
(1) a = 24 * 3600&
(2) a = 24 * CLng(3600)

哎呀, 我自己都长知识了.

改成:
a = 24 * 3600#
就OK