欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-09 14:04:15
场景 表示时间的数据格式为浮点数,如下: 需要将其格式化为{H:min:s.ms}格式的字符串,效果如下: 注: 博客主页:https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 效果 ......

场景

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

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

 

 

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

需要将其格式化为{h:min:s.ms}格式的字符串,效果如下:

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

 

 

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

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

/// <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}格式的字符串的方法

 

 

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