src/DotNetCommon.Core/UnitConvertor.cs
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Text.RegularExpressions;
namespace DotNetCommon
{
/// <summary>
/// 计算机存储单位间的换算,涉及到的转换单位:B、KB、MB、GB、TB
/// </summary>
public static class UnitConverter
{
private const double KiloBytes = 1024;
private const double MegaBytes = KiloBytes * KiloBytes;
private const double GigaBytes = KiloBytes * MegaBytes;
/// <summary>
/// 将字节大小的值转成人类易读的字符串
/// </summary>
/// <param name="bytes">字节大小</param>
public static string Humanize(double bytes)
{
var abs = System.Math.Abs(bytes);
if (abs == 0) return $"0 B";
if (abs >= GigaBytes)
{
return $"{bytes / GigaBytes:#,#.##} GB";
}
if (abs >= MegaBytes)
{
return $"{bytes / MegaBytes:#,#.##} MB";
}
if (abs >= KiloBytes)
{
return $"{bytes / KiloBytes:#,#.##} KB";
}
return $"{bytes:#,#} B";
}
/// <summary>
/// 将 <c>B</c> 转成 <c>MB</c>
/// </summary>
public static double BytesToMegaBytes(this double bytes) => bytes / MegaBytes;
/// <summary>
/// 将 <c>B</c> 转成 <c>GB</c>
/// </summary>
public static double BytesToGigaBytes(this double bytes) => bytes / MegaBytes / KiloBytes;
/// <summary>
/// 将 <c>KB</c> 转成 <c>MB</c>
/// </summary>
public static double KiloBytesToMegaBytes(this double kiloBytes) => kiloBytes / KiloBytes;
/// <summary>
/// 将 <c>MB</c> 转成 <c>GB</c>
/// </summary>
public static double MegaBytesToGigaBytes(this double megaBytes) => megaBytes / KiloBytes;
后面还有 228 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
