Vb.net 时间跨度出错
我想添加一个标签,像普通时钟一样打印经过的时间(当秒数达到“59”时,然后在计数器上添加“1”分钟),但当秒数达到数字“30”时,我的时间跨度会添加分钟。。。我做错了什么Vb.net 时间跨度出错,vb.net,time,timer,counter,timespan,Vb.net,Time,Timer,Counter,Timespan,我想添加一个标签,像普通时钟一样打印经过的时间(当秒数达到“59”时,然后在计数器上添加“1”分钟),但当秒数达到数字“30”时,我的时间跨度会添加分钟。。。我做错了什么 Dim ElapsedTime As TimeSpan While log_button.Text = "Stop logger" ElapsedTime = Now().Subtract(StartTime) Label5.Text = String.Format(
Dim ElapsedTime As TimeSpan
While log_button.Text = "Stop logger"
ElapsedTime = Now().Subtract(StartTime)
Label5.Text = String.Format("Minutos transcurridos: {0:00}:{1:00}", CInt(ElapsedTime.TotalMinutes) Mod 60, CInt(ElapsedTime.TotalSeconds) Mod 60)
Application.DoEvents()
End While
我得到了这样一个错误的增量:
00:01
00:28
00:29
00:30
01:31
01:32
等等。这是因为您正在舍入表示总分钟数的浮点数。当数字达到
0.5
时,将四舍五入为1
使用Floor
方法截断数字:
CInt(Math.Floor(ElapsedTime.TotalMinutes)) Mod 60
您还可以使用Minutes
属性,该属性可以执行以下所有操作:
ElapsedTime.Minutes