鍍金池/ 問答/C#/ .NET/C#應用程序開發(fā)中優(yōu)雅地將一個按字節(jié)為單位的文件大小轉(zhuǎn)換成人類可讀的單

.NET/C#應用程序開發(fā)中優(yōu)雅地將一個按字節(jié)為單位的文件大小轉(zhuǎn)換成人類可讀的單位大小(KB,MB,GB,TB)的方法有哪些?

在.NET/C#的應用程序開發(fā)過程中,我們?nèi)绾螌⒁粋€以字節(jié)為單位的文件大小優(yōu)雅地轉(zhuǎn)換成人類可讀的單位大小(KB,MB,GB,TB)呢?

比如,當前有一個文件,以字節(jié)為單位的大小為: 7,326,629
如何將這個字節(jié)單位轉(zhuǎn)換為MB為單位呢?

回答
編輯回答
編輯回答
凹凸曼

使用FileInfo類為轉(zhuǎn)換,如下:

string[] sizes = { "B", "KB", "MB", "GB", "TB" };
double len = new FileInfo(filename).Length;
int order = 0;
while (len >= 1024 && order < sizes.Length - 1) {
    order++;
    len = len/1024;
}

string result = String.Format("{0:0.##} {1}", len, sizes[order]);

更多實現(xiàn)方式,請見:.NET/C#應用程序開發(fā)中優(yōu)雅地將一個按字節(jié)為單位的文件大小轉(zhuǎn)換成人類可讀的單位大小(KB,MB,GB,TB)的方法有哪些?

2017年9月30日 08:11
編輯回答
荒城

可以看看這個項目:https://github.com/Humanizr/H...

var fileSize = (10).Kilobytes();

fileSize.Bits      => 81920
fileSize.Bytes     => 10240
fileSize.Kilobytes => 10
fileSize.Megabytes => 0.009765625
fileSize.Gigabytes => 9.53674316e-6
fileSize.Terabytes => 9.31322575e-9
2017年1月17日 10:08