码迷,mamicode.com
首页 > Web开发 > 详细

DotNet指定文件显示的尺寸

时间:2016-10-28 16:03:50      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:c#   文件尺寸转换   .net   

   在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,TB等。现在提供一个方法,实现将指定文件的尺寸,

   提供:"字节", "KB", "MB", "GB", "TB"等尺寸的控制选项,一下方法代码可以在项目中直接使用,提高项目的开发效率。

[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
    public static class FsLibValueExtract
    {
        readonly static string[] SizeDefinitions = { "字节", "KB", "MB", "GB", "TB" };

        /// <summary>
        /// 控制尺寸显示转换上限
        /// </summary>
        readonly static double SizeLevel = 0x400 * 0.9;

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this double size)
        {
            return ToSizeDescription(size, 2);
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <param name="digits">小数位数</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this double size, int digits)
        {
            var sizeDefine = 0;

            while (sizeDefine < SizeDefinitions.Length && size > SizeLevel)
            {
                size /= 0x400;
                sizeDefine++;
            }

            if (sizeDefine == 0) return size.ToString("#0") + " " + SizeDefinitions[sizeDefine];
            return size.ToString("#0." + string.Empty.PadLeft(digits, ‘#‘)) + " " + SizeDefinitions[sizeDefine];
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this ulong size)
        {
            return ((double)size).ToSizeDescription();
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <param name="digits">小数位数</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this ulong size, int digits)
        {
            return ((double)size).ToSizeDescription(digits);
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this long size)
        {
            return ((double)size).ToSizeDescription();
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <param name="digits">小数位数</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this long size, int digits)
        {
            return ((double)size).ToSizeDescription(digits);
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this int size)
        {
            return ((double)size).ToSizeDescription();
        }

        /// <summary>
        /// 转换为尺寸显示方式
        /// </summary>
        /// <param name="size">大小</param>
        /// <param name="digits">小数位数</param>
        /// <returns>尺寸显示方式</returns>
        public static string ToSizeDescription(this int size, int digits)
        {
            return ((double)size).ToSizeDescription(digits);
        }
    }

   以上只是文件尺寸进行一个算术运算,实现以上所述的功能。

本文出自 “彭泽0902” 博客,请务必保留此出处http://pengze0902.blog.51cto.com/7693836/1866717

DotNet指定文件显示的尺寸

标签:c#   文件尺寸转换   .net   

原文地址:http://pengze0902.blog.51cto.com/7693836/1866717

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!