How to convert bytes to KB or MB or GB or TB or PB in C#

1 Answer

0 votes
using System;
 
class Program
{
    private static string convert_bytes(long bytes) {
        string[] sizes = { "B", "KB", "MB", "GB", "TB", "PB" };
        double dbytes = bytes;
         
        int i = 0;
        while (i < sizes.Length && bytes >= 1024) {
             dbytes = bytes / 1024.0;
             i++;     
             bytes /= 1024;
        }
 
        return String.Format("{0:0.##} {1}", dbytes, sizes[i]);
    }
    static void Main() {
        Console.WriteLine(convert_bytes(554432));
        Console.WriteLine(convert_bytes(3554432));
        Console.WriteLine(convert_bytes(33554432));
        Console.WriteLine(convert_bytes(333554432));
        Console.WriteLine(convert_bytes(3333554432));
        Console.WriteLine(convert_bytes(33333554432));
        Console.WriteLine(convert_bytes(333333554432));
        Console.WriteLine(convert_bytes(3333333554432));
        Console.WriteLine(convert_bytes(33333333554432));
        Console.WriteLine(convert_bytes(333333333554432));
        Console.WriteLine(convert_bytes(3333333333554432));
    }
}
 

 
 
/*
run:
 
541.44 KB
3.39 MB
32 MB
318.1 MB
3.1 GB
31.04 GB
310.44 GB
3.03 TB
30.32 TB
303.16 TB
2.96 PB
 
*/

 



answered Nov 5, 2021 by avibootz
edited Nov 5, 2021 by avibootz
...