这是当时做一个文件上传,通过将字节转为大小B KB MB GB来计算文件大小。
/// <summary>
/// 将字节转文件大小B KB MB GB
/// </summary>
/// <param name="fileSize">字节</param>
/// <returns></returns>
public static string GetSize(Nullable<long> fileSize)
{
double fileByte = 0.00;
string size = "";
if (fileSize == null)
{
fileByte = 0.00;
}
else
{
fileByte = (double)fileSize*1.00;
}
if (fileByte < 0.1 * 1024)
{
// 小于0.1KB,则转化成B
size = $"{fileByte:F2}B";
}
else if (fileByte < 0.1 * 1024 * 1024)
{
// 小于0.1MB,则转化成KB
size = $"{(fileByte / 1024):F2}KB";
}
else if (fileByte < 0.1 * 1024 * 1024 * 1024)
{
// 小于0.1GB,则转化成MB
size = $"{(fileByte / (1024 * 1024)):F2}MB";
}
else
{
// 其他转化成GB
size = $"{(fileByte / (1024 * 1024 * 1024)):F2}GB";
}
string sizeStr = $"{size}"; // 转成字符串
int index = sizeStr.IndexOf("."); // 获取小数点处的索引
string dou = sizeStr.Substring(index + 1, 2); // 获取小数点后两位的值
if (dou == "00")
{
// 判断后两位是否为00,如果是则删除00
return sizeStr.Substring(0, index) + sizeStr.Substring(index + 3, 2);
}
return size;
}
如果这段代码用到的次数多的话,可以把这段代码放在公共类中当公共方法。