public static void Main()
Console.WriteLine(convertBytes(435));
Console.WriteLine(convertBytes(3398));
Console.WriteLine(convertBytes(490398));
Console.WriteLine(convertBytes(6544528));
Console.WriteLine(convertBytes(23483023));
Console.WriteLine(convertBytes(3984578493));
Console.WriteLine(convertBytes(30498505889));
Console.WriteLine(convertBytes(9485039485039445));
public static string convertBytes(decimal? x, int l = 0)
string[] units = { "Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB" };
string format = x < 10 && l > 0 ? "{0:0.#}" : "{0:0}";
return String.Format(format, x) + " " + units[l];