Try the following :-
string[] sizes = { "B", "KB", "MB", "GB" };
double len = new FileInfo(filename).Length;
int order = 0;
while (len >= 1024 && order + 1 < sizes.Length) {
order++;
len = len/1024;
}
string result = String.Format("{0: 0.##} {1}", len, sizes[order]);