vb 小程序的小问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:04:14
闲着无聊,写了个小程序在玩,如下:
Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Label1.Caption = Time
a = Timer
Label2.Caption = a
End Sub

然后,把Timer1.Interval = 100这句的参数
分别用1000,500,100 试下
如果发现我的问题了
知道原因的请回
我发现有些人没有发现到我所提出的问题
问题补充一下哦
Timer1.Interval 的参数,用1000 500的时候,Label2的精度是很正确的,没有误差
但是,用了100(也就是0.1)秒的时候,小数第2位也开始跳了
第2位应该是不跳的,大家考虑下原因.
我已经想到答案了,大家加油啊~~~
10金币的奖励哦~~~

程序本身没有问题,就是不知道你要实现什么

这里,你要注意 Time与Timer的区别
Time 返回系统的当前时间
Timer 返回系统自当天0:00:00开始,已经经过的秒数
另外,Timer会有小数,其精确度并不是以秒计算,可以精确到毫秒

你可以将Time*24*3600之后来看,你会发现,与Timer得到的整数部分相同
------------------------------------------
是楼主你自己没有说清楚问题而已
你说的第二位,的确,按理论值,是不应该变的,但是,由于程序执行要时间,慢慢的就错开了,所以就变化了,这很容易理解
当Interval属性值大的时候,由于程序执行的很快,所以,看不出变化,而当Interval属性很小的时候,这个过程就能体现出来

Option Explicit
Dim a
Private Sub Form_Load()
Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()

Label1.Caption = Time
a = Timer
Label2.Caption = a
Label3.Caption = Hour(Now) * 3600 + Minute(Now) * 60 + Second(Now)
'看来这个timer代表的就是当前时间或算成秒的值咯。
End Sub

Time 返回系统的当前时间,为什么Label1.Caption =Time*24*3600之后结果会与Timer得到的整数部分相同呢?
楼上的能不能说详细点,谢谢!