在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,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, );
} /// <summary>
/// 转换为尺寸显示方式
/// </summary>
/// <param name="size">大小</param>
/// <param name="digits">小数位数</param>
/// <returns>尺寸显示方式</returns>
public static string ToSizeDescription(this double size, int digits)
{
var sizeDefine = ; while (sizeDefine < SizeDefinitions.Length && size > SizeLevel)
{
size /= 0x400;
sizeDefine++;
} if (sizeDefine == ) 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);
}
}

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

最新文章

  1. navigation和tabbar上的文字.图片 自定义
  2. java回调初步学习
  3. USACO 滑雪课程
  4. HTML5预学习 长期更新
  5. IE6及以上版本fixed问题解决方案,页面右下角固定页面,可以最大化、最小化、正规显示
  6. HTML5手机APP开发入门(2)
  7. JAVA开发第一步——JDK 安装
  8. 利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
  9. jQuery实现CheckBox全选、全不选
  10. Area - POJ 1654(求多边形面积)
  11. Apache配置域名
  12. magento后台 Fatal error: Call to a member function getId() on a non-object in错误
  13. DevExpress XtraReports 入门四 创建 Web 报表
  14. nginx之 nginx + tomcat + redis 负载均衡且session一致性
  15. Cassandra Secondary Index 介绍
  16. Flask入门之自定义过滤器(匹配器)
  17. Python通过分页对数据进行展示
  18. PYTHON-模块 re subprocess
  19. golang的一些基础数据类型转换
  20. 【Hadoop 分布式部署 二:分布式环境预备工作(主机名 IP地址等设置)】

热门文章

  1. LabVIEW 吸星大法 - 看见的好东西都是我的(下篇)
  2. 新手 gulp+ seajs 小demo
  3. ubuntu中source insight打不开,报错pagefault的解决方法
  4. WPF整理-使用ResourceDictionary管理Logical Resources
  5. 【转】WriteMessage的信息在AutoCAD中命令行中实时显示
  6. IEEE/ACM ASONAM 2014 Industry Track Call for Papers
  7. SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
  8. 一个App完成入门篇(六)- 完成通讯录页面
  9. [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git
  10. js模块化历程