在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,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. 我的权限系统设计实现MVC4 + WebAPI + EasyUI + Knockout(一)
  2. elasticsearch运维实战之2 - 系统性能调优
  3. Python导入cx_Oracle报错
  4. ThinkPHP中field 方法与getField 方法的区别。
  5. 绕过/*,web.xml直接访问jsp
  6. Web自动化框架之五一套完整demo的点点滴滴(excel功能案例参数化+业务功能分层设计+mysql数据存储封装+截图+日志+测试报告+对接缺陷管理系统+自动编译部署环境+自动验证false、error案例)
  7. 使用gcc编译gdb调试
  8. 解决配置android开发环境eclipse获取ADT获取不到,一直&quot;Pending&quot;
  9. Java eclipse生成doc文档
  10. IIS的php环境配置
  11. 【完整资料】TC358779XBG:HDMI转MIPI DSI芯片方案
  12. How to verify Certificate Pinning?
  13. selenium3+java+POM 跨浏览器测试之------读取配置文件
  14. HTML第三章总结
  15. 关于export和export default的区别
  16. yaml文件 *.yml 写法简介
  17. 自然语言处理--TF-IDF(关键词提取)
  18. 安装CentOS 6.x出现Disk sda contains BIOS RAID metadata
  19. Jquery12 Ajax
  20. [GO]并的爬取捧腹的段子

热门文章

  1. 【noip 2016】 蚯蚓(earthworm)
  2. cocos2d中各种action方法的应用
  3. PHP常用算法
  4. phpcms v9常用方法
  5. C#多线程介绍(下)
  6. .NET开源OpenID和OAuth解决方案Thinktecture IdentityServer
  7. Kosaraju 算法查找强连通分支
  8. [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS
  9. 新人入职100天,聊聊自己的经验&amp;教训
  10. 《超实用的JavaScript代码段》—— 读后总结