首页 > Windows开发 > 详细

C#中将long浮点数格式化为{H:min:s.ms}格式的字符串的方法

时间:2019-10-10 14:58:32      阅读:150      评论:0      收藏:0      [点我收藏+]

场景

表示时间的数据格式为浮点数,如下:

技术分享图片

 

 

技术分享图片

需要将其格式化为{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;
        }

 

效果

技术分享图片

 

 

技术分享图片

C#中将long浮点数格式化为{H:min:s.ms}格式的字符串的方法

原文:https://www.cnblogs.com/badaoliumangqizhi/p/11647769.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!