在项目中开发中,有时候需要将文件的尺寸进行控制,例如需要将文件的尺寸指定为字节,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);}}

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

转载于:https://blog.51cto.com/pengze0902/1866717

DotNet指定文件显示的尺寸相关推荐

  1. Linux 命令之 tail -- 在屏幕上显示指定文件的末尾若干行/显示文件尾部内容/查看文件尾部内容

    文章目录 一.命令介绍 二.常用选项 三.参考示例 (一)显示文件 file 的最后 10 行 (二)显示文件 file 的内容,从第 20 行至文件末尾 (三)显示文件file的最后10个字符 (四 ...

  2. html file 隐藏,input type=file /浏览时只显示指定文件类型(html5新特性)

    type="file" />浏览时只显示指定文件类型 accept属性列表 1.accept="application/msexcel" 2.accept ...

  3. php只显示指定文件类型_PHP 上传时的文件类型

    php上传常见文件类型对应的$_FILES["file"]["type"]. xls application/vnd.ms-excel xlsx applica ...

  4. java 打开指定文件,java解决指定应用程序打开指定文件

    java解决指定应用程序打开指定文件 //打开工具的路径及名字 String toolsPath = "D:/office/Office12/WINWORD.EXE"; //被打开 ...

  5. Linux之不删除指定文件夹,其他都删(文件和文件夹)

    例子1 查看当前文件夹下有哪些文件和子文件夹 我们看到俩个文件夹 和多个文件,我现在的需求是 只保留 public 这个文件夹 其他的文件夹和文件 统统都删除,怎么办呢? 只要一个命令 ls | gr ...

  6. 在水晶报表中实现任意选择指定字段显示-模板及C#升级版

    前文<在水晶报表中实现任意选择指定字段显示>中有朋友留言说是有无C#版本,最近有时间,重写了一下. 一是使用了VS2005 C#2.0 + Crystal Report 2008,另外就是 ...

  7. find排除文件 linux_Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键...

    Linux下find一次查找多个指定文件或者排除某类文件,在 GREP 中匹配多个关键字的方法 (1)Linux下find一次查找多个指定文件: 查找a.html和b.html find . -nam ...

  8. CV:基于Keras利用CNN主流架构之mini_XCEPTION训练情感分类模型hdf5并保存到指定文件夹下

    CV:基于Keras利用CNN主流架构之mini_XCEPTION训练情感分类模型hdf5并保存到指定文件夹下 目录 图示过程 核心代码 图示过程 核心代码 def mini_XCEPTION(inp ...

  9. VBA实战技巧精粹012:查找指定目录下的指定文件及Dir函数用法

    问题:有处理学生评语,限于网络条件,往往学生提交的都是单个文件,这就需要将其一一提取出来,然后进行判断.导出等操作,但首先要解决的就是查找所有文件如何操作,这里需要用到Dir函数,当然创建一个文件搜索 ...

最新文章

  1. 2017 年已读书单总结
  2. 分布式图数据库在贝壳的应用实践
  3. freemarker入门教程
  4. Linux 脚本编写基础(二)
  5. VC++使用Soap ToolKit3.0调用WebService接口
  6. [剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]
  7. 腾达fh307没有显示服务器名,腾达(Tenda)FH307路由器上网设置 | 192路由网
  8. numpy ndarray 数组对象
  9. asp.net 读取mysql_asp.net封装mysql工具类,在页面上引用读取的数据
  10. 批量添加搜狗域名绑站工具
  11. linux centos ppp限速,Centos 中限制网络带宽速度
  12. 【随笔记】linux usb gadget ncm wrong ndp sign 问题修复
  13. 尚有缺者,方为完美。小人求全,智者求阙——《致温弟沅弟》曾国藩
  14. 思科交换机序列号查询
  15. linux下用户名怎么修改密码,LINUX用户名密码忘记怎么修改用户密码
  16. [推荐]“痘痘”与所对应的疾病
  17. 哪种耳机适合跑步用、跑步运动耳机推荐
  18. C++ 优先队列priority_queue,如何定义大小根堆
  19. 3GS到iPhone6P+ 历代iPhone屏幕尺寸、像素分辨率
  20. apache服务器(下)

热门文章

  1. python linux命令-Python执行Linux系统命令的4种方法
  2. python免费试听-哪家培训可以免费试听Python课程?专注16年IT培训
  3. LeetCode Path Sum III(前缀和)
  4. Revising Aggregations - Averages(集合函数-avg)
  5. 网络编程学习笔记(readv和writev函数)
  6. @总结 - 6@ 后缀自动机
  7. java集合(List,Set,Map)详细总结
  8. u-boot之怎么实现分区
  9. eclipse中搭建ssm框架
  10. AngularJS ui-router (嵌套路由)