1. ホーム
  2. c#

[解決済み】.NETを使用して、人間が読めるファイルサイズ(bytes)の略語を取得するにはどうすればよいですか?

2022-03-29 12:25:03

質問

.NETを使用して、人間が読みやすいファイルサイズ(バイト単位)の略語を得るにはどうすればよいですか?

: 入力 7,326,629 を受けて 6.98 MB を表示する。

解決方法は?

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

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]);