VB里的long

Long不是存放-2,147,483,648到2,147,483,647的吗?为什么我PrivateSubCommand1_Click()DimaAsLonga=24*3... 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会溢出呢
展开
 我来答
OneTreeWhite
推荐于2016-01-26 · TA获得超过425个赞
知道小有建树答主
回答量:262
采纳率:0%
帮助的人:311万
展开全部
研究了一小段时间, 弄明白了.
24 * 3600 这里面24和3600都是Integer型的数, 所以它们的结果也是Integer型的.

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

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

哎呀, 我自己都长知识了.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
smh1982
2007-08-02 · TA获得超过843个赞
知道小有建树答主
回答量:1578
采纳率:0%
帮助的人:898万
展开全部
改成:
a = 24 * 3600#
就OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式