cs-codex-dist-tests/Framework/Utils/Formatter.cs

19 lines
580 B
C#

using System.Globalization;
namespace Utils
{
public static class Formatter
{
private static readonly string[] sizeSuffixes = { "B", "KB", "MB", "GB", "TB", "PB", "EB" };
public static string FormatByteSize(long bytes)
{
if (bytes == 0) return "0" + sizeSuffixes[0];
var sizeOrder = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
var digit = Math.Round(bytes / Math.Pow(1024, sizeOrder), 1);
return digit.ToString(CultureInfo.InvariantCulture) + sizeSuffixes[sizeOrder];
}
}
}