VB中用double值居然被溢出了.郁闷ing

coolrit 2004-05-04 11:52:58
Dim NowH As Double
Dim sTime As String

sTime = Format(Hour(Now), "00") + Format(Minute(Now), "00") + Format(Second(Now), "00")
For i = 0 To 6 Step 1
NowH = TimeChangeToNum(sTime) - (6 - i) * 20 * 60
If NowH < 0 Then
NowH = NowH + 24 * 3600
End If
Next i


NowH居然被溢出了,
用监视器查看的时候nowh=-5537
...全文
188 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yenight 2004-05-04
  • 打赏
  • 举报
回复
没有错的!真正NowH并不是Double
最好用一个函数转成Double的!
NowH=NowH+24*3600
这句默认把NowH转成了Integer
所以改成
NowH=NowH+24*3600.0好像可以了!
chinaren502 2004-05-04
  • 打赏
  • 举报
回复
TimeChangeToNum(sTime) - (6 - i) * 20 * 60
改成
cdbl(TimeChangeToNum(sTime) - (6 - i) * 20 * 60)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧