.NET を使用して、人間が判読できるファイル サイズをバイト単位で取得するにはどうすればよいですか? 質問する

.NET を使用して、人間が判読できるファイル サイズをバイト単位で取得するにはどうすればよいですか? 質問する

.NET を使用して、人間が判読できるファイル サイズをバイト単位で取得するにはどうすればよいですか?

: 入力7,326,629を取り、6.98 MBを表示します

ベストアンサー1

これは最も効率的または最適化された方法ではないかもしれませんが、対数計算に慣れていない場合は読みやすく、ほとんどのシナリオで十分な速度が得られます。

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;
}

// Adjust the format string to your preferences. For example "{0:0.#}{1}" would
// show a single decimal place, and no space.
string result = String.Format("{0:0.##} {1}", len, sizes[order]);

おすすめ記事