Skip to content

Instantly share code, notes, and snippets.

@mahizsas
Created October 10, 2012 20:58
Show Gist options
  • Save mahizsas/3868368 to your computer and use it in GitHub Desktop.
Save mahizsas/3868368 to your computer and use it in GitHub Desktop.
Display Size in reeadble format
public static string GetSizeReadable(long i)
{
string sign = (i < 0 ? "-" : "");
double readable = (i < 0 ? -i : i);
string suffix;
if (i >= 0x1000000000000000) // Exabyte
{
suffix = "EB";
readable = (double)(i >> 50);
}
else if (i >= 0x4000000000000) // Petabyte
{
suffix = "PB";
readable = (double)(i >> 40);
}
else if (i >= 0x10000000000) // Terabyte
{
suffix = "TB";
readable = (double)(i >> 30);
}
else if (i >= 0x40000000) // Gigabyte
{
suffix = "GB";
readable = (double)(i >> 20);
}
else if (i >= 0x100000) // Megabyte
{
suffix = "MB";
readable = (double)(i >> 10);
}
else if (i >= 0x400) // Kilobyte
{
suffix = "KB";
readable = (double)i;
}
else
{
return i.ToString(sign + "0 B"); // Byte
}
readable = readable / 1024;
return sign + readable.ToString("0.### ") + suffix;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment