0

重複の可能性:
Javaでバイトサイズを人間が読める形式に変換する方法は?

整数を指定すると、キロ、メガ、ギガなどの乗数を使用して、人間が読める方法で出力したいと思います。「最適な」乗数を選択するにはどうすればよいですか?

下記は用例です

        1 print as 1
    12345 print as 12.3k
987654321 print as 988M

理想的には、印刷される桁数は構成可能であるべきです。たとえば、最後の例では、3 桁で 988M、2 桁で 1.0G、1 桁で 1G、4 桁で 987.7M になります。

例: Apple は、OSX があと何バイトコピーする必要があるかを教えてくれるときに、この種のアルゴリズムを使用していると思います。

これはJava用ですが、言語よりもアルゴリズムに興味があります。

4

1 に答える 1

2

開始点として、Math.log() 関数を使用して値の「大きさ」を取得し、接尾辞 (k、M、G など) に何らかの形式の連想コンテナーを使用できます。

var マグニチュード = Math.log(値) / Math.log(10);

これが何らかの形で役立つことを願っています

于 2012-10-17T23:14:24.137 に答える