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

成都创新互联公司是工信部颁发资质IDC服务器商,为用户提供优质的西信服务器托管服务
提供:"字节", "KB", "MB", "GB", "TB"等尺寸的控制选项,一下方法代码可以在项目中直接使用,提高项目的开发效率。
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public static class FsLibValueExtract
{
readonly static string[] SizeDefinitions = { "字节", "KB", "MB", "GB", "TB" };
///
/// 控制尺寸显示转换上限
///
readonly static double SizeLevel = 0x400 * 0.9;
///
/// 转换为尺寸显示方式
///
/// 大小
/// 尺寸显示方式
public static string ToSizeDescription(this double size)
{
return ToSizeDescription(size, 2);
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 小数位数
/// 尺寸显示方式
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];
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 尺寸显示方式
public static string ToSizeDescription(this ulong size)
{
return ((double)size).ToSizeDescription();
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 小数位数
/// 尺寸显示方式
public static string ToSizeDescription(this ulong size, int digits)
{
return ((double)size).ToSizeDescription(digits);
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 尺寸显示方式
public static string ToSizeDescription(this long size)
{
return ((double)size).ToSizeDescription();
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 小数位数
/// 尺寸显示方式
public static string ToSizeDescription(this long size, int digits)
{
return ((double)size).ToSizeDescription(digits);
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 尺寸显示方式
public static string ToSizeDescription(this int size)
{
return ((double)size).ToSizeDescription();
}
///
/// 转换为尺寸显示方式
///
/// 大小
/// 小数位数
/// 尺寸显示方式
public static string ToSizeDescription(this int size, int digits)
{
return ((double)size).ToSizeDescription(digits);
}
}以上只是文件尺寸进行一个算术运算,实现以上所述的功能。