2012-02-01 156 views
0

所以我越來越接近使計時器按照我希望的方式工作,只有一個小問題。從秒錶中返回十分之一秒百分之一秒

我發現下面的職位有關返回毫秒和納秒: How do you convert Stopwatch ticks to nanoseconds, milliseconds and seconds?

但我想要做的需要時是隻顯示第二的100分之的十分之。

我有以下代碼:

Private Sub TotalTimer_Tick(sender As System.Object, e As System.EventArgs) Handles TotalTimer.Tick 
    Dim elapsed As TimeSpan = Me.matchStopwatch.Elapsed 

    Me.MatchClockLbl.Text = String.Format("{0:0}:{1:00}:{2:00}.{3:###}", _ 
            Math.Floor(elapsed.TotalHours), _ 
            elapsed.Minutes, _ 
            elapsed.Seconds, _ 
            (elapsed.Milliseconds/100)) 

End Sub 

現在我試圖代碼的部分從{3:000}改變爲{3:0}或{3:00},但所有這樣做是變化格式,它實際上並沒有刪除千位數或千位數,他們仍然顯示出來。

我進一步發現這對MSDN:

http://msdn.microsoft.com/en-us/library/ee372287.aspx#fSpecifier

但我不斷收到S.F或S/F或東西是不正確的。

編輯:在代碼的修改版本中添加,感謝Oded。現在的新問題是標籤偶爾閃爍多餘的數字。

回答

1

Milliseconds除以10得到100秒和100得到第10秒。

這是通過整數除法 - 基本上丟掉最低有效數字並假定Milliseconds返回至多3位數。

+0

一個小問題。在我這樣做的時候,我注意到一秒鐘之後,顯示屏會彈出完整的3個零點。就像我會看到0.9然後再0.000。 – 2012-02-01 16:54:41

+0

@Paul - 將格式說明符從「{3:000}」更改爲「{3}」或「{3:##}」。 – Oded 2012-02-01 16:56:14

+0

靠近。現在它彈出一個額外的數字。 – 2012-02-01 17:03:50