簡體   English   中英

如何將TimeSpan舍入為一位數毫秒

[英]How to round a TimeSpan to one digit for millisecond

我如何舍入以獲得毫秒數位?

我從此鏈接嘗試了一些解決方案,但沒有一個起作用: 您可以舍入.NET TimeSpan對象嗎?

00:23:01.4999890 -> 00:23:01.5
15:02:02.9999785 -> 15:02:03.0
08:03:59.9605388 -> 08:04:00.0
03:16:00.8605388 -> 03:16:00.9
19:12:01.8420745 -> 19:12:01.8
04:05:03.8417271 -> 04:05:03:8

您可以這樣舍入到100毫秒(十分之一秒):

var timespan = TimeSpan.Parse("00:23:01.4999890");
var rounded = TimeSpan.FromSeconds(Math.Round(timespan.TotalSeconds, 1));

然后使用自定義格式字符串在小數點后僅顯示1位數字:

rounded.ToString(@"hh\:mm\:ss\.f");
// OUTPUT:
// 00:23:01.5

另一個選擇是使用此答案中的擴展方法:

rounded = timespan.Round(TimeSpan.FromMilliseconds(100));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM