C#中將long浮點數格式化為{H:min:s.ms}格式的字符串的方法


場景

表示時間的數據格式為浮點數,如下:

 

 

需要將其格式化為{H:min:s.ms}格式的字符串,效果如下:

 

 

注:

博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

/// <summary>
        /// 把浮點數格式化為{H:min:s.ms}格式的字符串
        /// </summary>
        /// <param name="f">要格式化的浮點數</param>
        /// <returns>返回格式化后的字符串</returns>
        public static string FormatFloatToDateTimeString(double f)
        {
            string result = String.Empty;
            int day = (int)f / 3600 / 24;
            int hour = ((int)f / 3600 % 24);
            int min = ((int)f % 3600) / 60;
            int sec = (int)f % 60;
            int ms = (int)Math.Round((f - (int)f) * 1000, 0, MidpointRounding.AwayFromZero);

            if (day > 0)
            {
                result = String.Format("{0}.{1}:{2}:{3}.{4}", day, DataProcessor.FillZero(hour.ToString(), 2), DataProcessor.FillZero(min.ToString(), 2), DataProcessor.FillZero(sec.ToString(), 2), DataProcessor.FillZero(ms.ToString(), 3));
            }
            else
            {
                result = String.Format("{0}:{1}:{2}.{3}", DataProcessor.FillZero(hour.ToString(), 2), DataProcessor.FillZero(min.ToString(), 2), DataProcessor.FillZero(sec.ToString(), 2), DataProcessor.FillZero(ms.ToString(), 3));
            }
            return result;
        }

 

效果

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM