我想添加一个像普通时钟一样打印经过时间的标签(当秒数达到"59“时,将"1”分钟加到计数器上),但我的时间跨度在秒数达到数字“30”时增加分钟数……我哪里做错了?
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
等等。
发布于 2012-12-01 21:38:59
这是因为您正在舍入表示总分钟数的浮点数。当数字达到0.5时,它将四舍五入为1。
使用Floor方法截断数字:
CInt(Math.Floor(ElapsedTime.TotalMinutes)) Mod 60您还可以使用Minutes属性,它可以完成所有这些操作:
ElapsedTime.Minuteshttps://stackoverflow.com/questions/13659912
复制相似问题