Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class Extensions
- {
- public static readonly string[] SizeSuffixes = { "bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
- public static string AppendSizeSuffix(this Int64 value, int decimalPlaces = 0)
- {
- if (value < 0) { return "-" + AppendSizeSuffix(-value); }
- if (value == 0) { return "0.0 bytes"; }
- int mag = (int)Math.Log(value, 1024);
- decimal adjustedSize = (decimal)value / (1L << (mag * 10));
- if (Math.Round(adjustedSize, decimalPlaces) >= 1000)
- {
- mag += 1;
- adjustedSize /= 1024;
- }
- var rounded = string.Format("{0:n" + decimalPlaces + "}", adjustedSize);
- return $"{rounded} {SizeSuffixes[mag]}";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment